Recording and Analyzing Data on a 3D Avatar

ABSTRACT

In particular embodiments, a method includes generating a 3D display of an avatar of a person, where the avatar can receive inputs identifying a type of a physiological event, a location of the physiological event in or on a person&#39;s body in three spatial dimensions, a time range of the physiological event, a quality of the physiological event, and rendering the physiological event on the avatar based on the inputs.

TECHNICAL FIELD

This disclosure generally relates to sensors and sensor networks formonitoring and analyzing a person's health.

BACKGROUND

A sensor typically measures a physical quantity and converts it into asignal that an observer or an instrument can read. For example, amercury-in-glass thermometer converts a measured temperature intoexpansion and contraction of a liquid that can be read on a calibratedglass tube. A thermocouple converts temperature to an output voltagethat a voltmeter can read. For accuracy, sensors are generallycalibrated against known standards.

A sensor's sensitivity indicates how much the sensor's output changeswhen the measured quantity changes. For instance, if the mercury in athermometer moves 1 cm when the temperature changes by 1° C., thesensitivity is 1 cm/° C. Sensors that measure very small changes havevery high sensitivities. Sensors may also have an impact on what theymeasure; for instance, a room temperature thermometer inserted into ahot cup of liquid cools the liquid while the liquid heats thethermometer. The resolution of a sensor is the smallest change it candetect in the quantity that it is measuring. The resolution is relatedto the precision with which the measurement is made.

The output signal of a sensor is typically linearly proportional to thevalue or simple function (logarithmic) of the measured property. Thesensitivity is then defined as the ratio between output signal andmeasured property. For example, if a sensor measures temperature and hasa voltage output, the sensitivity is a constant with the unit [V/K];this sensor is linear because the ratio is constant at all points ofmeasurement.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example sensor network.

FIG. 2 illustrates an example data flow in a sensor network.

FIG. 3 illustrates an example sensor.

FIG. 4 illustrates an example sensor for collecting mood and activityinformation from a person.

FIG. 5 illustrates an example method for collecting mood and activityinformation from a person.

FIG. 6 illustrates an example inductively-powered ring-based sensor.

FIG. 7 illustrates an example method using an inductively-poweredring-based sensor.

FIG. 8 illustrates an example user-input sensor for collectinginformation of a physiological event on a three-dimensionalrepresentation of a person's body.

FIG. 9 illustrates an example method for collecting information of aphysiological event on a three-dimensional representation of a person'sbody.

FIG. 10 illustrates an example method for detecting and monitoringdyspnea.

FIG. 11 illustrates an example method for detecting and monitoringmusculoskeletal pathology.

FIG. 12 illustrates an example computer system.

FIG. 13 illustrates an example network environment.

DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG. 1 illustrates an example sensor network 100. Sensor network 100comprises sensor array 110, analysis system 180, and display system 190.The components of sensor network 100 may be connected to each other inany suitable configuration, using any suitable type of connection. Thecomponents may be connected directly or over a network 160, which may beany suitable network (e.g., the internet).

Sensor network 100 enables the collecting, processing, sharing, andvisualizing, displaying, archiving, and searching of sensor data. Thedata collected by sensor array 110 may be processed, analyzed, andstored using the computational and data storage resources of sensornetwork 100. This may be done with both centralized and distributedcomputational and storage resources. Sensor network 100 may integrateheterogeneous sensor, data, and computational resources deployed over awide area. Sensor network 100 may be used to undertake a variety oftasks, such as physiological, psychological, behavioral, andenvironmental monitoring and analysis.

Sensor array 110 comprises one or more sensors. A sensor receives astimulus and converts it into a data stream. The sensors in sensor array110 may be of the same type (e.g., multiple thermometers) or varioustypes (e.g., a thermometer, a barometer, and an altimeter). Sensor array110 may transmit one or more data streams based on the one or morestimuli to one or more analysis systems 180 over any suitable network.In particular embodiments, a sensor's embedded processors may performcertain computational activities (e.g., image and signal processing)that could also be performed by analysis system 180.

As used herein, a sensor in sensor array 110 is described with respectto a user. Therefore, a sensor may be personal or remote with respect tothe user. Personal sensors receive stimulus that is from or related tothe user. Personal sensors may include, for example, sensors that areaffixed to or carried by the user (e.g., a heart-rate monitor, a inputby the user into a smartphone), sensors that are proximate to the user(e.g., a thermometer in the room where the user is located), or sensorsthat are otherwise related to the user (e.g., GPS position of the user,a medical report by the user's doctor, a user's email inbox). Remotesensors receive stimulus that is external to or not directly related tothe user. Remote sensors may include, for example, environmental sensors(e.g., weather balloons, stock market ticker), network data feeds (e.g.,news feeds), or sensors that are otherwise related to externalinformation. A sensor may be both personal and remote depending on thecircumstances. For example, a thermometer in a user's home may beconsidered personal while the user is at home, but remote when the useris away from home.

Analysis system 180 may monitor, store, and analyze one or more datastreams from sensor array 110. Analysis system 180 may havesubcomponents that are local 120, remote 150, or both. Display system190 may render, visualize, display, message, notify, and publish to oneor more users or systems based on the output of analysis system 180.Display system 190 may have subcomponents that are local 130, remote140, or both.

As used herein, the analysis and display components of sensor network100 are described with respect to a sensor. Therefore, a component maybe local or remote with respect to the sensor. Local components (i.e.,local analysis system 120, local display system 130) may includecomponents that are built into or proximate to the sensor. For example,a sensor could include an integrated computing system and an LCD monitorthat function as local analysis system 120 and local display system 130.Remote components (i.e., remote analysis system 150, remote displaysystem 190) may include components that are external to or independentof the sensor. For example, a sensor could transmit a data stream over anetwork to a remote server at a medical facility, wherein dedicatedcomputing systems and monitors function as remote analysis system 150and remote display system 190. In particular embodiments, each sensor insensor array 110 may utilize either local or remote display and analysiscomponents, or both. In particular embodiments, a user may selectivelyaccess, analyze, and display the data streams from one or more sensorsin sensor array 110. This may be done, for example, as part of running aspecific application or data analysis algorithm. The user could accessdata from specific types of sensors (e.g., all thermocouple data), fromsensors that measure specific types of data (e.g., all environmentalsensors), or based on other criteria.

The sensor network embodiments disclosed herein have many possibleapplications, such as healthcare monitoring of patients, environmentaland habitat monitoring, weather monitoring and forecasting, military andhomeland security surveillance, tracking of goods and manufacturingprocesses, safety monitoring of physical structures, and many otheruses. Although this disclosure describes particular uses of sensornetwork 100, this disclosure contemplates any suitable uses of sensornetwork 100.

FIG. 2 illustrates an example data flow in a sensor network. Inparticular embodiments, one or more sensors in a sensor array 210 mayreceive one or more stimuli. The sensors in sensory array 210 may be ofone or more types. The sensor array 210 may transmit one or more datastreams based on the one or more stimuli to one or more analysis systems280 over any suitable network. For example, one sensor could transmitmultiple data streams to multiple analysis systems. In another example,multiple sensors could transmit multiple data streams to one analysissystem.

In particular embodiments, the sensors in sensor array 210 each producetheir own data stream, which is transmitted to analysis system 280. Inother embodiments, one or more sensors in sensor array 210 have theiroutput combined into a single data stream.

Analysis system 280 may monitor, store, and analyze one or more datastreams. Analysis system 280 may be local, remote, or both. Analysissystem 280 may transmit one or more analysis outputs based on the one ormore data streams to one or more display systems 290. For example, oneanalysis system could transmit multiple analysis outputs to multipledisplay systems. In another example, multiple analysis systems couldtransmit multiple analysis outputs to one display system.

A display system 290 may render, visualize, display, message, notify,and publish to one or more users based on the one or more analysisoutputs. A display system 290 may be local, remote, or both. Inparticular embodiments, a sensor array 210 could transmit one or moredata streams directly to a display system 290. This would allow, forexample, display of stimulus readings by the sensor. However, unlesscontext suggests otherwise, this disclosure assumes the data flowillustrated in FIG. 2.

FIG. 3 illustrates an example sensor and data flow to and from thesensor. A sensor 310 is a device which receives and responds to astimulus. Here, the term “stimulus” means any signal, property,measurement, or quantity that can be detected and measured by a sensor.A sensor responds to a stimulus by generating a data streamcorresponding to the stimulus. A data stream may be a digital or analogsignal that may be transmitted over any suitable transmission medium andfurther used in electronic devices. As used herein, the term “sensor” isused broadly to describe any device that receives a stimulus andconverts it into a data stream. The present disclosure assumes that thedata stream output from a sensor is transmitted to an analysis system,unless otherwise specified.

The sensor 310 includes a stimulus receiving element (i.e., sensingelement), a data stream transmission element, and any associatecircuitry. Sensors generally are small, battery powered, portable, andequipped with a microprocessor, internal memory for data storage, and atransducer or other component for receiving stimulus. However, a sensormay also be an assay, test, or measurement. A sensor may interface witha personal computer and utilize software to activate the sensor and toview and analyze the collected data. A sensor may also have a localinterface device (e.g., keypad, LCD) allowing it to be used as astand-alone device.

Sensors are able to measure a variety of things, includingphysiological, psychological, behavioral, and environmental stimulus.Physiological stimulus may include, for example, physical aspects of aperson (e.g., stretch, motion of the person, and position ofappendages); metabolic aspects of a person (e.g., glucose level, oxygenlevel, osmolality), biochemical aspects of a person (e.g., enzymes,hormones, neurotransmitters, cytokines), and other aspects of a personrelated to physical health, disease, and homeostasis. Psychologicalstimulus may include, for example, emotion, mood, feeling, anxiety,stress, depression, and other psychological or mental states of aperson. Behavioral stimulus may include, for example, behavior related aperson (e.g., working, socializing, arguing, drinking, resting,driving), behavior related to a group (e.g., marches, protests, mobbehavior), and other aspects related to behavior. Environmental stimulusmay include, for example, physical aspects of the environment (e.g.,light, motion, temperature, magnetic fields, gravity, humidity,vibration, pressure, electrical fields, sound, GPS location),environmental molecules (e.g., toxins, nutrients, pheromones),environmental conditions (e.g., pollen count, weather), other externalcondition (e.g., traffic conditions, stock market information, newsfeeds), and other aspects of the environment.

The following is a partial list of sensor types that may be encompassedby various embodiments of the present disclosure: Accelerometer;Affinity electrophoresis; Air flow meter; Air speed indicator; Alarmsensor; Altimeter; Ammeter; Anemometer; Arterial blood gas sensor;Attitude indicator; Barograph; Barometer; Biosensor; Bolometer; Boostgauge; Bourdon gauge; Breathalyzer; calorimeter; Capacitive displacementsensor; Capillary electrophoresis; Carbon dioxide sensor; Carbonmonoxide detector; Catalytic bead sensor; Charge-coupled device;Chemical field-effect transistor; Chromatograph; Colorimeter; Compass;Contact image sensor; Current sensor; Depth gauge; DNA microarray;Electrocardiograph (ECG or EKG); Electrochemical gas sensor;Electrolyte-insulator-semiconductor sensor; Electromyograph (EMG);Electronic nose; Electro-optical sensor; Exhaust gas temperature gauge;Fiber optic sensors; Flame detector; Flow sensor; Fluxgate compass; Footswitches; Force sensor; Free fall sensor; Galvanometer; Gardon gauge;Gas detector; Gas meter; Geiger counter; Geophone; Goniometers;Gravimeter; Gyroscope; Hall effect sensor; Hall probe; Heart-ratesensor; Heat flux sensor; High-performance liquid chromatograph (HPLC);Hot filament ionization gauge; Hydrogen sensor; Hydrogen sulfide sensor;Hydrophone; Immunoassay, Inclinometer; Inertial reference unit; Infraredpoint sensor; Infra-red sensor; Infrared thermometer; Ionization gauge;Ion-selective electrode; Keyboard; Kinesthetic sensors; Laserrangefinder; Leaf electroscope; LED light sensor; Linear encoder; Linearvariable differential transformer (LVDT); Liquid capacitiveinclinometers; Magnetic anomaly detector; Magnetic compass;Magnetometer; Mass flow sensor; McLeod gauge; Metal detector; MHDsensor; Microbolometer; Microphone; Microwave chemistry sensor;Microwave radiometer; Mood sensor; Motion detector; Mouse; Multimeter;Net radiometer; Neutron detection; Nichols radiometer; Nitrogen oxidesensor; Nondispersive infrared sensor; Occupancy sensor; Odometer;Ohmmeter; Olfactometer; Optode; Oscillating U-tube; Oxygen sensor; Painsensor; Particle detector; Passive infrared sensor; Pedometer;Pellistor; pH glass electrode; Photoplethysmograph; Photodetector;Photodiode; Photoelectric sensor; Photoionization detector;Photomultiplier; Photoresistor; Photoswitch; Phototransistor; Phototube;Piezoelectric accelerometer; Pirani gauge; Position sensor;Potentiometric sensor; Pressure gauge; Pressure sensor; Proximitysensor; Psychrometer; Pulse oximetry sensor; Pulse wave velocitymonitor; Radio direction finder; Rain gauge; Rain sensor; Redoxelectrode; Reed switch; Resistance temperature detector; Resistancethermometer; Respiration sensor; Ring laser gyroscope; Rotary encoder;Rotary variable differential transformer; Scintillometer; Seismometer;Selsyn; Shack-Hartmann; Silicon bandgap temperature sensor; Smokedetector; Snow gauge; Soil moisture sensor; Speech monitor; Speedsensor; Stream gauge; Stud finder; Sudden Motion Sensor; Tachometer;Tactile sensor; Temperature gauge; Thermistor; Thermocouple;Thermometer; Tide gauge; Tilt sensor; Time pressure gauge; Touch switch;Triangulation sensor; Turn coordinator; Ultrasonic thickness gauge;Variometer; Vibrating structure gyroscope; Voltmeter; Water meter;Watt-hour meter; Wavefront sensor; Wired glove.; Yaw rate sensor; andZinc oxide nanorod sensor. Although this disclosure describes particulartypes of sensors, this disclosure contemplates any suitable types ofsensors.

A biosensor is a type of sensor that receives a biological stimulus andconverts it into a data stream. As used herein, the term “biosensor” isused broadly. For example, a canary in a cage, as used by miners to warnof gas, could be considered a biosensor.

In particular embodiments, a biosensor is a device for the detection ofan analyte. An analyte is a substance or chemical constituent that isdetermined in an analytical procedure. For instance, in an immunoassay,the analyte may be the ligand or the binder, while in blood glucosetesting, the analyte is glucose. In medicine, analyte typically refersto the type of test being run on a patient, as the test is usuallydetermining the presence or concentration of a chemical substance in thehuman body.

A common example of a commercial biosensor is the blood glucosebiosensor, which uses the enzyme glucose oxidase to break blood glucosedown. In doing so, it first oxidizes glucose and uses two electrons toreduce the FAD (flavin adenine dinucleotide, a component of the enzyme)to FADH₂ (1,5-dihydro-FAD). This in turn is oxidized by the electrode(accepting two electrons from the electrode) in a number of steps. Theresulting current is a measure of the concentration of glucose. In thiscase, the electrode is the transducer and the enzyme is the biologicallyactive component.

In particular embodiments, a biosensor combines a biological componentwith a physicochemical detector component. A typical biosensorcomprises: a sensitive biological element (e.g., biological material(tissue, microorganisms, organelles, cell receptors, enzymes,antibodies, nucleic acids, etc.), biologically derived material,biomimic); a physicochemical transducer/detector element (e.g. optical,piezoelectric, electrochemical) that transforms the signal (i.e. inputstimulus) resulting from the interaction of the analyte with thebiological element into another signal (i.e. transducers) that may bemeasured and quantified; and associated electronics or signal processorsgenerating and transmitting a data stream corresponding to the inputstimulus. The encapsulation of the biological component in a biosensormay be done by means of a semi-permeable barrier (e.g., a dialysismembrane or hydrogel), a 3D polymer matrix (e.g., by physically orchemically constraining the sensing macromolecule), or by other means.

Some biosensor measurements are highly dependent the physical activityof the user prior to the measurement being made. For example, a user'sfasting glucose level, serum-createnine level, and protein/createnineratio may all vary based on the user's activity. Some users, inanticipation of a pending biosensor measurement, may increase theirphysical activity level in order to achieve a “better” analytemeasurement. This may lead to misleading sensor measurements andpossibly to false-negative disease state diagnoses. In particularembodiments, sensor network 100 may monitor and analyze a user'sactivity to ensure the user is not engaged in an abnormal level ofphysical activity before the biosensor measurement is made. Inparticular embodiments, sensor array 110 may include one or moreaccelerometers. These sensors may be worn, carried, or otherwise affixedto the user. The accelerometers may measure and transmit informationregarding the user's activity level. Sensor array 110 may transmit datastreams containing acceleration data of the user to analysis system 180.Analysis system 180 may analyze the accelerometer data to establish abaseline activity of the user, and also to monitor the user's activityprior to a biosensor measurement to ensure that the user's activity doesnot deviate from his baseline activity. Based on these deviations inactivity, various alerts or warnings may be provided to the user or tothe user's physician. Analysis system 180 may also analyze theaccelerometer data to contextualize and normalize biosensormeasurements. For example, accelerometer data that shows that a user wasactive during a certain time period may be used to explain an unusuallylow blood glucose measurement during the same period.

In particular embodiments, a sensor samples input stimulus at discretetimes. The sampling rate, sample rate, or sampling frequency defines thenumber of samples per second (or per other unit) taken from a continuousstimulus to make a discrete data signal. For time-domain signals, theunit for sampling rate may be Hertz (1/s). The inverse of the samplingfrequency is the sampling period or sampling interval, which is the timebetween samples. The sampling rate of a sensor may be controlledlocally, remotely, or both.

In particular embodiments, one or more sensors in sensor array 110 mayhave a dynamic sampling rate. Dynamic sampling is performed when adecision to change the sampling rate is taken if the current outcome ofa process is different from some specified value or range of values. Forexample, if the stimulus measured by a sensor is different from theoutcome predicted by some model or falls outside some threshold range,the sensor may increase or decrease its sampling rate in response.Dynamic sampling may be used to optimize the operation of the sensors orinfluence the operation of actuators to change the environment.

In particular embodiments, a sensor with a dynamic sampling rate maytake some predefined action when it senses the appropriate stimulus(light, heat, sound, motion, touch, etc.). For example, an accelerometermay have a default sample rate of 1/s, but may increase the samplingrate to 60/s whenever it measures a non-zero value, and then may returnto a 1/s sampling rate after getting 60 consecutive samples equal tozero.

In particular embodiments, the dynamic sampling rate of a sensor may bebased on input from one or more components of sensor network 100. As anexample and not by way of limitation, a heart rate monitor may have adefault sampling rate of 1/min. However, the heart rate monitor mayincrease its sampling rate if it senses that the user's activity levelhas increased, such as by a signal from an accelerometer. As anotherexample and not by way of limitation, analysis system 180 may transmitinstructions to one or more sensors instructing them to vary theirsampling rates. As yet another example and not by way of limitation, theuser's doctor may remotely activate or control a sensor.

In particular embodiments, a sensor with a dynamic sampling rate mayincrease or decrease the precision at which it samples input. As anexample and not by way of limitation, a glucose monitor may use fourbits to record a user's blood glucose level by default. However, if theuser's blood glucose level begins varying quickly, the glucose monitormay increase its precision to eight-bit measurements.

In particular embodiments, the stimulus received by sensor 310 may beinput from a person or user. A user may provide input in a variety ofways. User-input may include, for example, inputting a quantity or valueinto the sensor, speaking or providing other audio input to the sensor,and touching or providing other stimulus to the sensor. Any clientsystem with a suitable I/O device may serve as a user-input sensor.Suitable I/O devices include alphanumeric keyboards, numeric keypads,touch pads, touch screens, input keys, buttons, switches, microphones,pointing devices, navigation buttons, stylus, scroll dial, anothersuitable I/O device, or a combination of two or more of these.

In particular embodiments, a sensor may query the user to inputinformation into the sensor. In one embodiment, the sensor may query theuser at static intervals (e.g., every hour). In another embodiment, thesensor may query the user at a dynamic rate. The dynamic rate may bebased on a variety of factors, including prior input into the sensor,data from other sensors in sensor array 110, output from analysis system180, etc. For example, if a heart-rate monitor in sensor array 110indicates an increase in the user's heart-rate, the user-input sensormay immediately query the user to input his current activity.

In particular embodiments, an electronic calendar functions as auser-input sensor for gathering behavioral data. A user may input thetime and day for various activities, including appointments, socialinteractions, phone calls, meetings, work, tasks, chores, etc. Eachinputted activity may be further tagged with details, labels, andcategories (e.g., “important,” “personal,” “birthday”). The electroniccalendar may be any suitable personal information manager, such asMicrosoft Outlook, Lotus Notes, Google Calendar, etc. The electroniccalendar may then transmit the activity data as a data stream toanalysis system 180, which could map the activity data over time andcorrelate it with data from other sensors in sensor array 110. Forexample, analysis system 180 may map a heart-rate data stream againstthe activity data stream from an electronic calendar, showing that theuser's heart-rate peaked during a particularly stressful activity (e.g.,dinner with the in-laws).

In particular embodiments, a data feed may be a sensor. A data feed maybe a computing system that receives and aggregates physiological,psychological, behavioral, or environmental data from one or moresources and transmits one or more data streams based on the aggregateddata. Alternatively, a data feed may be the one or more data streamsbased on the aggregated data. Example data feeds include stock-markettickers, weather reports, news feeds, traffic-condition updates,public-health notices, and any other suitable data feeds. A data feedmay contain both personal and remote data, as discussed previously. Adata feed may be any suitable computing device, such as computer system1400. Although this disclosure describes particular types of data feeds,this disclosure contemplates any suitable types of data feeds.

FIG. 4 illustrates an example sensor for collecting mood and activityinformation from a person. This “mood sensor” 400 is a type ofuser-input sensor, that my receive input (i.e., stimulus) from a userregarding the user's psychological state and the user's behaviorcorresponding to that psychological state. Of course, it is possible forthe user to record information about a 3rd party (e.g., a doctorrecording information about a patient). However, this disclosure assumesthat the user is recording information about himself, unless contextsuggests otherwise. Mood sensor 400 may be used to collect any type ofuser-input relating to psychological or behavioral aspects of theperson. The example embodiments illustrated in FIG. 4 and describedherein are provided for illustration purposes only and are not meant tobe limiting.

In particular embodiments, mood sensor 400 includes a softwareapplication that may be executed on client system 410. FIG. 4illustrates a smart phone as an example client system 410, however anysuitable user-input device may be used (e.g., cellular phone, personaldigital assistant, personal computer, etc.). In particular embodiments,a user may execute an application on client system 410 to access moodcollection interface 420. In other embodiments, a user may use a browserclient or other application on client system 410 to access moodcollection interface 420 over a mobile network (or other suitablenetwork). Mood collection interface 420 is configured to receive signalsfrom the user. For example, the user may click, touch, or otherwiseinteract with mood collection interface 420 to select and input mood andbehavior information, and to perform other actions.

Mood collection interface 420 may include various components. FIG. 4illustrates mood input widget 430, mood intensity input widget 440,activity input widget 450, and clock 460, however other components arepossible. Mood input widget 430 is a three-by-three grid of mood icons,wherein each icon has a unique semantic label and color. The gridillustrated in FIG. 3 shows the following example moods and colors:

Mood Color Stressed Yellow Alert Orange Excited Pink Angry Red UnsureGrey Happy Green Depressed Maya blue Quiet Mauve Relaxed Lightcornflower blue

The user may touch one or more of the mood icons to input his currentmood. Mood intensity widget 440 is a row with numbered icons rangingfrom one to four that each correspond to a level of intensity of a mood.The numbers range from the lowest to highest intensity, with one beingthe lowest and four being the highest. The user may touch one of thenumbers to input an intensity corresponding to a selected mood. Inparticular embodiments, the mood intensity corresponds to a standardpsychometric scale (e.g., Likert scale). Activity input widget 450 is adrop-down menu containing a list of activities. The list is notillustrated, but could include a variety of activities, such assleeping, eating, working, driving, arguing, etc. The user may touch thedrop-down menu to input one or more activities corresponding to aselected mood. Clock 460 provides the current time according to clientsystem 410. This time may be automatically inputted as a timestamp toany other inputs on mood collection interface 420. In particularembodiments, a time or duration of the mood may be inputted manually bythe user. The input widgets described above are provided as examples ofone means for gathering mood, intensity, and activity data, and are notmeant to be limiting. A variety of other input means could be utilized.In particular embodiments, the mood, mood intensity, activity, and timemay all be entered manually by the user, without the use of widgets,icons, drop-down menus, or timestamps. This would allow the user toinput a variety of mood, intensity, and activity information for anytime or time period.

In particular embodiments, mood sensor 400 is a sensor in sensor array110. After receiving the mood, intensity, activity, and time inputs, themood sensor 400 may transmit the data as one or more data streams toanalysis system 180.

In particular embodiments, mood sensor 400 may query the user to inputhis mood, activity, and possibly other information. In one embodiment,mood sensor 400 queries the user at fixed time intervals (e.g., everyhour). In another embodiment, mood sensor 400 queries the user at adynamic rate. The dynamic rate may be based on a variety of factors,including the user's prior mood and activity inputs, data from othersensors in sensor array 110, output from analysis system 180, etc. Forexample, if the user inputs that he is “angry” with an intensity of “4,”mood sensor 400 may begin querying the user every 15 minutes until theuser indicates the intensity of his mood has dropped to “2” or less. Inanother example, if a heart-rate monitor in sensor array 110 indicatesan increase in the user's heart-rate, mood sensor 400 may query the userto input his current mood and activity. In yet another example, if theuser's electronic calendar indicates that he has an appointment taggedas “important,” mood sensor 400 may query the user to input his moodimmediately before and after the appointment.

In particular embodiments, mood sensor 400 may administer one or moretherapies or therapeutic feedbacks. A therapy may be provided based on avariety of factors. In one embodiment, mood sensor 400 may providetherapeutic feedback to the user either during or after the user inputsa negative mood or activity. For example, if the user touches the“angry” button, the display may change to show a calming image ofpuppies playing in the grass. In another embodiment, mood sensor 400 mayprovide therapeutic feedback to the user based on output from analysissystem 180. For example, if a heart-rate monitor in sensor array 110indicates an increase in the user's heart-rate, and the user inputs“stressed” into mood sensor 400, the analysis system 180 may determinethat a therapeutic feedback is needed. In response to thisdetermination, mood sensor 400 may play relaxing music to clam the user.Mood sensor 400 may deliver a variety of therapies, such asinterventions, biofeedback, breathing exercises, progressive musclerelaxation exercises, presentation of personal media (e.g., music,personal pictures, etc.), offering an exit strategy (e.g., calling theuser so he has an excuse to leave a stressful situation), references toa range of psychotherapeutic techniques, and graphical representationsof trends (e.g., illustrations of health metrics over time), cognitivereframing therapy, and other therapeutic feedbacks. Mood sensor 400 mayalso provide information on where the user can seek other therapies,such as specific recommendations for medical care providers, hospitals,etc.

In particular embodiments, mood sensor 400 may be used to access anddisplay data related to the user's psychology and behavior on displaysystem 190. Display system 190 may display data on mood collectioninterface 420 (i.e., the smartphone's touch screen) or another suitabledisplay. Mood sensor 400 may access a local data store (e.g., prior moodand activity input stored on the user's smart phone) or a remote datastore (e.g., medical records from the user's hospital) over any suitablenetwork. In one embodiment, mood sensor 400 may access and display moodand activity information previously recorded by mood sensor 400. Forexample, the user could click on the “happy” button to access datashowing the mood intensity, activity, and time associated with eachinput of “happy” by the user on mood sensor 400. In another embodiment,mood sensor 800 may access and display data recorded by other medicalsensors or medical procedures. For example, the user could click on the“depressed” button to access data from one or more other sensors insensor array 110 (e.g., heart-rate sensor data, pulse oximetry sensordata, etc.) that correspond to each input of “depressed” by the user onmood sensor 400.

FIG. 5 illustrates an example method 500 for collecting mood informationfrom a person. A user of mood sensor 400 may first access moodcollection interface 420 on client system 410 at step 510. The user mayselect one or more moods on mood input widget 430 by touching one of themood icons at step 520. The user may select an intensity level of theselected mood on mood intensity input widget 440 at step 530. The usermay select an activity coinciding with the selected mood on activityinput widget 450 at step 540. After all three inputs are entered by theuser, mood sensor 400 may automatically record the inputs or the usermay indicate that he is done inputting moods and activities by clicking“ok” or providing some other input at step 550. At this step, the moodsensor may also record a time indication coinciding with the inputs.Finally, mood sensor 400 may transmit a data stream based on one or moreof the mood, intensity, activity, or time inputs to analysis system 180at step 560. Although this disclosure describes and illustratesparticular steps of the method of FIG. 5 as occurring in a particularorder, this disclosure contemplates any suitable steps of the method ofFIG. 5 occurring in any suitable order. Moreover, although thisdisclosure describes and illustrates particular components carrying outparticular steps of the method of FIG. 5, this disclosure contemplatesany suitable combination of any suitable components carrying out anysuitable steps of the method of FIG. 5.

FIG. 6 illustrates an example of an inductively-powered ring-basedsensor. In particular embodiments, ring-based sensor 600 comprises awrist element 610 and a ring element 620. In particular embodiments,ring element 620 is a ring that may be worn or affixed on a user'sfinger and contains a sensing element. In one embodiment, ring element620 is an implanted (subcutaneous) device. In particular embodiments,wrist element 610 may be a band, bracelet, or cuff. In one embodiment,wrist element 610 is a wrist watch.

In particular embodiments, ring element 620 may include one or moretypes of sensors. For example, ring element 620 may include a pulseoximeter, heart-rate monitor, a CO-oximeter, a galvanic-skin-responsesensor, an electrocargiograph, a respirometer, another suitable sensor,or two or more such sensors.

In particular embodiments, ring-based sensor 600 is a pulse oximeter. Apulse oximeter is type of sensor that indirectly measures the oxygensaturation (SpO₂) of a user's blood. Pulse oximeters typically measurethe percentage of arterial hemoglobin in the oxyhemoglobin configuration(i.e., saturated hemoglobin). Typical SpO₂ percentages range from95-100%, however lower percentages are not uncommon. An estimate ofarterial pO₂ may be made from the pulse oximeter's SpO₂ measurements. Inparticular embodiments, ring-based sensor 600 utilizes two differentlight sources, usually red and infrared, that measure differentabsorption or reflection characteristics for oxyhemoglobin (bright red)and deoxyhemoglobin (dark-red/blue). Based upon the ratio of changingabsorbances of the red and infrared light caused by the difference incolor between oxygen-bound (bright red) and unbound (dark-red/blue)hemoglobin in the blood, a measure of oxygenation (i.e., the percent ofhemoglobin molecules bound with oxygen molecules) may be made. Inparticular embodiments, ring-based sensor 600 determines blood oxygensaturation by transmission oximetry. Transmission oximetry operates bytransmitting light through an appendage, such as a finger or an earlobe,and comparing the characteristics of the light transmitted into one sideof the appendage with that detected on the opposite side. In otherembodiments, ring-based sensor 600 determines blood oxygen saturation byreflectance oximetry, which uses reflected light to measure blood oxygensaturation. In a typical pulse oximeter, the monitored signal varies intime with the heartbeat of the user because the arterial blood vesselsexpand and contract with each heartbeat. In particular embodiments,ring-based sensor 600 may normalize the monitored signal (e.g., bysubtracting minimum absorption from peak absorption), allowing it tomeasure absorption caused by arterial blood. In particular embodiments,ring element 620 comprises two light-emitting diodes (LEDs), which facea photodiode on the opposite side of the ring. When worn, the LEDs canemit light through a user's translucent finger. One LED may be red, witha wavelength of, for example, 660 nm, and the other may be infrared,with a wavelength of, for example, 905, 910, or 940 nm. Absorption atthese wavelengths differs significantly between oxyhemoglobin and itsdeoxygenated form; therefore, the oxy/deoxyhemoglobin ratio may becalculated from the ratio of the absorption of the red and infraredlight.

In particular embodiments, ring element 620 may be powered byelectromagnetic induction. Wrist element 610 comprises an inductivepower source. Wrist element 610 may generate a first current (i₁)through one or more loops in the wrist element. The current in wristelement 610 may generate a magnetic field (B₁). If the magnetic fluxpassing through ring element 620 is varied over time, it may inductivelygenerate a second current (i₂) through one or more loops in ring element620. A time-varying magnetic flux through ring element 620 may becreated using a variety of means. In one embodiment, current i₁ is analternating current, which generates a magnetic field B₁ that varies intime with the alternating current. The amount of magnetic flux passingthrough ring element 620 may vary as magnetic field B₁ varies. Inanother embodiment, current i₁ is a direct current, which generates astatic magnetic field B₁. The amount of magnetic flux passing throughring element 620 may vary as the user moves his finger through thestatic magnetic field B₁ generated by wrist element 610, such that thenatural movement of the user's finger is sufficient to power ringelement 620.

In particular embodiments, ring element 620 includes a wirelesstransmitter and wrist element 610 includes a wireless transceiver. Theseallow ring element 620 to communicate with wrist element 610 using avariety of communication means. In particular embodiments, ring element620 and wrist element 610 may communicate using RF induction technology.In other embodiments, ring element 620 and wrist element 610 maycommunicate using other communication means (e.g., radio, Bluetooth,etc.). Ring element 620 may transmit absorption measurements to wristelement 610 for further processing, analysis, and display.

In particular embodiments, ring-based sensor 600 is a sensor in sensorarray 110. Ring-based sensor 600 may transmit sensor data as one or moredata streams to analysis system 180. In particular embodiments, wristelement 610 may include a local analysis system 120. In otherembodiments, wrist element 610 may transmit sensor data as one or moredata streams to remote analysis system 150. Analysis system 180 maytransmit one or more analysis outputs to display system 190. Inparticular embodiments, wrist element 610 includes a local displaysystem 130 that shows current measurements by the ring-based sensor 600.In other embodiments, measurements by the ring-based sensor 600 aredisplayed on remote display system 140.

FIG. 7 illustrates an example method using an inductively-poweredring-based sensor, wherein wrist element 610 contains a pulse oximeter.A user of ring-based sensor 600 may first affix wrist element 610 andring element 620 on his wrist and finger, respectively, at step 710.Once affixed, wrist element 610 may inductively power ring element 620at step 720. Ring element 620 may then emit light of two or morewavelengths through the user's finger at step 730. Ring element 620 maythen measure the absorption of the light at step 740. Ring element 620may then transmit the measured absorption to wrist element 610 using RFinduction technology at step 750. Local analysis system 120 in wristelement 610 may then calculate the user's current oxygen saturationbased on the measured absorption at step 760. Local display system 130in wrist element 610 may also display the user's current oxygensaturation at step 770. Finally, wrist element 610 may transmit a datastream based on oxygen saturation calculation to remote analysis system150 at step 780. Although this disclosure describes and illustratesparticular steps of the method of FIG. 7 as occurring in a particularorder, this disclosure contemplates any suitable steps of the method ofFIG. 7 occurring in any suitable order. Moreover, although thisdisclosure describes and illustrates particular components carrying outparticular steps of the method of FIG. 7, this disclosure contemplatesany suitable combination of any suitable components carrying out anysuitable steps of the method of FIG. 7.

FIG. 8 illustrates an example sensor for collecting information of aphysiological event on a three-dimensional representation of a person'sbody. Physiological event sensor 800 (“pain sensor”) is a type ofuser-input sensor, which receives input (i.e., stimulus) from a userregarding a physiological event on or in the user's body. Of course, itis possible for the user to record information about a 3rd party (e.g.,a doctor recording information about a patient). However, thisdisclosure assumes that the user is recording information about himself,unless otherwise specified. Pain sensor 800 may be used to collect anytype of physiological information related to a person, including pain.The example embodiments illustrated in FIG. 8 and described herein areprovided for illustration purposes only and are not meant to belimiting.

In particular embodiments, pain sensor 800 includes a softwareapplication that may be executed on any suitable client system. FIG. 8illustrates a webpage-based application accessed from browser client810, however any user-input application on any suitable user-inputdevice may be used. In particular embodiments, a user may use browserclient 810 to access pain sensor interface 820 over the internet (orother suitable network). Pain sensor interface 820 may be automaticallygenerated and presented to the user in response to the user visiting oraccessing a website or executing an application on a suitable clientsystem with a suitable browser client. A networking system may transmitdata to the client system, allowing it to display the pain sensorinterface 820, which is typically some type of graphic user interface.For example, the webpage downloaded to the client system may include anembedded call that causes the client system to download an executableobject, such as a Flash .SWF object, which executes on the client systemand renders one or more components of the interface within the contextof the webpage. Other interface types are possible, such as server-siderendering and the like. Pain sensor interface 820 is configured toreceive signals from the user via the client system. For example, theuser may click on pain sensor interface 820, or enter commands from akeyboard or other suitable input device.

The pain sensor interface 820 may include various components. FIG. 8illustrates a three-dimensional graphical model of the user (“3Davatar”) 830 and an interface for inputting and displaying physiologicalevent information 840. In particular embodiments, a user may input oneor more details regarding a certain physiological event on pain sensorinterface 820. In one embodiment, a user may input the location of aphysiological event on or in the user's body by clicking on theappropriate location of the 3D avatar 830 (e.g., clicking on theavatar's left elbow). The user may also be able to select a depth, area,or volume associated with the physiological event. The user may then useinterface 840 to input further details regarding the physiologicalevent, such as the type of physiological event (e.g., pain, itching,wound, etc.), a time range associated with the physiological event(e.g., when the pain started and stopped, when the wound was inflicted,etc.), a quality or intensity associated with the physiological event(e.g., a dull ache, mild itching, etc.), and a cause of thephysiological event (e.g., skiing accident, contact with poison oak,etc.). One of ordinary skill in the art would recognize that the typesof details associated with a physiological event described above are notcomprehensive, and that a variety of other details related to aphysiological event may be inputted into pain sensor 800.

In particular embodiments, the user may input one or more treatmentsused for the physiological event (e.g., acupuncture, ice, bandage, oralanalgesic, etc.). In particular embodiments, details regarding thetreatment (e.g., time/duration/frequency, location, dose, quality, careprovider, etc.) may also be inputted.

In particular embodiments, the user may input one or more configurationsof the body associated with the physiological event. In particularembodiments, the user may do this by manipulating the 3D avatar 830 toillustrate the configuration of the body associated with thephysiological event. For example, the user could click on the 3Davatar's left elbow to cause it to bend to a certain position associatedwith a pain. The user may also be able to rotate the 3D avatar 830around one or more axes.

In particular embodiments, the display of 3D avatar 830 may alter inresponse to the input provide by the user. For example, the avatar mayalter to show certain treatments (e.g., displaying a cast on theavatar's leg if a cast has been applied to the user). In anotherexample, the avatar may alter to reflect the physiological event (e.g.,inputting information on pain in the left elbow may cause the left elbowon the 3D avatar to glow red in the display). In yet another example,the avatar may be customizable to reflect the particular anatomy of theperson represented (e.g., displaying appropriate genitals for femaleversus male user, altering the dimensions of the avatar to reflect theheight and weight of the user, etc.). 3D avatar 830 may be customizedand altered in a variety of ways, and the examples above are not meantto be limiting.

In particular embodiments, pain sensor 800 is a sensor in a sensor array110. After receiving input on the details of the physiological event,pain sensor 800 may transmit the data as a data stream to analysissystem 180.

In particular embodiments, pain sensor 800 may be used to access anddisplay data related to the user's body on display system 190. Displaysystem 190 may display data on pain sensor interface 820 or anothersuitable display. Pain sensor 800 may access a local data store (e.g.,prior pain sensor input stored on the user's personal computer) or aremote data store (e.g., medical records from the user's hospital) overany suitable network. In one embodiment, pain sensor 800 may access anddisplay physiological event information previously recorded by the painsensor. For example, the user could click on the right shoulder of 3Davatar 830 to access data on one or more past physiological events onthe person's right shoulder that were recorded by pain sensor 800. Inanother embodiment, pain sensor 800 may access and display data recordedby other medical sensors or medical procedures. For example, the usercould click on the spine of 3D avatar 830, and pain sensor 800 couldaccess medical records from other sensors or procedures related to theperson's spine (e.g., MRI results, CAT scans, surgical records, etc.).

In one embodiment, pain sensor 800 may conform to the SystematizedNomenclature of Medicine (“SNOMED”) standard. Pain sensor 800 may beable to receive user-input in SNOMED format (e.g., the user could input22298006 to record a myocardial infarction) or to transmit a data streamwith data in SNOMED format (e.g., if the user inputs a burn on his skin,the pain sensor could transmit a data stream containing the code284196006). Various embodiments may conform with one or more othermedical terminology standards, and this example is not meant to belimiting.

FIG. 9 illustrates an example method 900 for collecting physiologicalevent information from a person. A user of pain sensor 800 may firstaccess pain sensor interface 420 from browser client 810 at step 910.The user may input one or more types of physiological events oninterface 840 at step 920. The user may input a location of thephysiological event in or on the person's body on 3D avatar 830 at step930. The user may input a time range coinciding with the inputtedphysiological event at step 940. The user may input a quality of thephysiological event at step 950. After this step, pain sensor 800 mayautomatically record the inputs, or may wait for the user to indicatethat he is done inputting information by clicking “record event” orproviding some other input. Finally, pain sensor 800 may transmit a datastream based on one or more of the inputs to analysis system 180 at step960. Although this disclosure describes and illustrates particular stepsof the method of FIG. 9 as occurring in a particular order, thisdisclosure contemplates any suitable steps of the method of FIG. 9occurring in any suitable order. Moreover, although this disclosuredescribes and illustrates particular components carrying out particularsteps of the method of FIG. 9, this disclosure contemplates any suitablecombination of any suitable components carrying out any suitable stepsof the method of FIG. 9.

A data stream comprises one or more datum transmitted from a sensor. Adata stream is a digital or analog signal that may be transmitted overany suitable transmission medium and further used in electronic devices.Sensor array 110 may transmit one or more data streams based on one ormore stimuli to one or more analysis systems 180 over any suitablenetwork.

A data stream may include signals from a variety of types of sensors,including physiological, psychological, behavioral, and environmentalsensors. A sensor generates a data stream corresponding to the stimulusis receives. For example, a physiological sensor (e.g., anaccelerometer) generates a physiological data stream (e.g., anaccelerometer data stream, which includes, for example, data on theacceleration of a person over time).

In particular embodiments, a sensor transmits one or more datum atdiscrete times. The transmitting rate, transmission rate, ortransmitting frequency defines the number of transmissions per second(or per other unit) sent by a sensor to make a discrete data signal. Fortime-domain signals, the unit for transmitting rate may be Hertz (1/s).The inverse of the transmitting frequency is the transmitting period ortransmitting interval, which is the time between transmissions. Thedatum may be transmitted continuously, periodically, randomly, or withany other suitable frequency or period. This may or may not correlatewith the sampling rate of the sensor.

In particular embodiments, the components of sensor network 100 mayutilize some type of data acquisition system to further process the datastream signal for use by analysis system 180. For example, a dataacquisition system may convert an analog waveforms signal into a digitalvalue. The data acquisition system may be local, for example, integratedinto a sensor in sensor array 110 or into local analysis system 120. Thedata acquisition system may also be remote, for example, integrated intoremote analysis system 150 or an independent system.

In particular embodiments, the data acquisition system may perform oneor more signal conditioning processes, for example, if the signal fromthe sensor is not suitable for the type of analysis system being used.For example, the data acquisition system may amplify, filter, ordemodulate the signal. Various other examples of signal conditioningmight be bridge completion, providing current or voltage excitation tothe sensor, isolation, and linearization. In particular embodiments,single-ended analog signals may be converted to differential signals. Inparticular embodiments, digital signals may be encoded to reduce andcorrect transmission errors or down-sampled to reduce transmission powerrequirements.

In particular embodiments, the components of sensor network 100 mayutilize some type of data logging system to record, categorize, and filedata from one or more data streams over time. The data logging systemmay be local, for example, integrated into a sensor in sensor array 110or into local analysis system 120. The data logging system may also beremote, for example, integrated into remote analysis system 150 or anindependent system. The data logging system may also use distributedresources to record data.

The data logging system may record data streams as one or more datasets. A data set comprises one or more datum from a data stream. Datasets may be categorized and formed based on a variety of criteria. Forexample, a data stream could be recorded as one or more data sets basedon the specific user, sensor, time period, event, or other criteria.

Analysis system 180 may monitor, store, and analyze one or more datastreams from sensor array 110. A data stream from sensor array 110 maybe transmitted to analysis system 180 over any suitable medium. Analysissystem 180 may transmit one or more analysis outputs based on the one ormore data streams to one or more display systems 190. Analysis system180 may be any suitable computing device, such as computer system 1400.

Analysis system 180 comprises one or more local analysis systems 120and/or one or more remote analysis systems 150. Where analysis system180 comprises multiple subsystems (e.g., local analysis system 120 andremote analysis system 150), processing and analysis of the data streamsmay occur in series or in parallel. In one embodiment, analysis system180 receives identical data streams from a sensor at both local analysissystem 120 and remote analysis system 150. In another embodiment,analysis system 180 receives a data stream at local analysis system 120,which performs some local analysis and then transmits a modified datastream/analysis output to remote analysis system 150.

Analysis system 180 may analyze a data stream in real-time as it isreceived from sensor array 110. Analysis system 180 may also selectivelyaccess and analyze one or more data sets from a data stream. Inparticular embodiments, analysis system 180 may perform a variety ofprocesses and calculations, including ranging, inspecting, cleaning,filtering, transforming, modeling, normalizing, averaging, correlating,and contextualizing data. Analysis system 180 may use a variety of dataanalysis techniques, including data mining, data fusion, distributeddatabase processing, and artificial intelligence. These techniques maybe applied to analyze various data streams and to generate correlationsand conclusions based on the data. Although this disclosure describesperforming particular analytical processes using particular analysistechniques, this disclosure contemplates performing any suitableanalytical processes using any suitable analysis techniques.

In particular embodiments, analysis system 180 may generate models basedon one or more data streams. A model is a means for describing a systemor object. For example, a model may be a data set, function, algorithm,differential equation, chart, table, decision tree, binary decisiondiagram, simulation, another suitable model, or two or more such models.A model may describe a variety of systems or objects, including one ormore aspects of a person's physiology, psychology, behavior, orenvironment.

Analysis system 180 may generate models that are empirical, theoretical,linear, nonlinear, deterministic, probabilistic, static, dynamic,heterogeneous, or homogenous. Analysis system 180 may generate modelsthat fit one or more data points using a variety of techniques,including, for example, curve fitting, model training, interpolation,extrapolation, statistical modeling, nonparametric statistics,differential equations, etc.

Analysis system 180 may generate models of various types, includingbaseline models, statistical models, predictive models, etc. A baselinemodel is a model that serves as a basis for comparison, and is typicallygenerated using controlled data over a specified period. A predictivemodel is a mathematical function (or set of functions) that describe thebehavior of a system or object in terms of one or more independentvariables. For example, a predictive model that may be used to calculatea physiological state based on one or more actual sensor measurements. Atype of predictive model is a statistical model, which is a mathematicalfunction (or set of functions) that describe the behavior of an objectof study in terms of random variables and their associated probabilitydistributions. One of the most basic statistical models is the simplelinear regression model, which assumes a linear relationship between twomeasured variables. In particular embodiments, a predictive model may beused as a baseline model, wherein the predictive model was generatedusing controlled data over a specified period.

In one embodiment, analysis system 180 may generate a model bynormalizing or averaging data from one or more data streams. Forexample, a model of a data stream from a single sensor could simply bethe average sensor measurement made by the sensor over someinitialization period. In another example, a model could be a singlesensor measurement made during a control period.

In another embodiment, analysis system 180 may generate a model byfitting one or more data sets to a mathematical function. For example, amodel could be an algorithm based on sensor measurements made by one ormore sensors over some control period. The model may include a varietyof variables, including data from one or more data streams and one ormore fixed variables. The following is an example algorithm thatanalysis system 180 could generate to model a system or object:

f _(m) =f(D _(sensor) ¹ , . . . D _(sensor) ^(N) , X ¹ , . . . , X ^(M))

where:

f_(m) is the model,

(D_(sensor) ¹, . . . , D_(sensor) ^(N)) are data streams 1 through N,and

(X¹, . . . , X^(N)) are fixed variables 1 through M.

In particular embodiments, the model may be used to predict hypotheticalsensor measurements in theoretical or experimental systems. In otherembodiments, the model may be used to determine or categorize a user'sphysiological or psychological state. For example, the model maydetermine a user's risk for a certain disease state with an abstract orstatistical result. The model could simply identify the user as being at“high risk” of developing a disease, or identify the user as being 80%likely to develop the disease. In another example, the model maydetermine a user's severity or grade of a disease state.

In particular embodiments, analysis system 180 may map one or more datastreams over time, allowing the data streams to be compared.

Mapping and comparing the data streams allows analysis system 180 tocontextualize and correlate a data set from one data stream with datasets from one or more other data streams. In particular embodiments,analysis system 180 contextualizes and correlates data sets from thedata streams where the data stream exhibits some type of deviation,variability, or change.

Contextualizing is the process of interpreting a data set against thebackground of information provided by one or more data streams.Correlating is establishing or demonstrating a causal, complementary,parallel, or reciprocal relation between one data set and another dataset. In general, analysis system 180 may make more accurate correlationsas more data becomes available from sensor array 110.

In particular embodiments, analysis system 180 may contextualize andcorrelate a data set from a data stream that exhibits some type ofdeviation, variability, or change from other data sets in the datastream. For example, a user may be wearing a heart-rate monitor and anaccelerometer, which transmit a heart-rate data stream and anaccelerometer data stream, respectively. A data set in the heart-ratedata stream may show the user had an elevated heart-rate during acertain time period. A data set in the accelerometer data stream mayshow the user had an elevated activity during the same time period. Bymapping and comparing these data sets, analysis system 180 maycontextualize and correlate the data streams. For example, an elevatedheart-rate that coincides with increased activity is typically a normalresponse. However, a spike in heart-rate that coincides with a marginalelevated physical activity may not be a normal response. Analysis system180 could then determine, based on the comparison, whether certainlevels of activity produce abnormal heart-rate spikes in the user.

In particular embodiments, sensor array 110 comprises a heart-ratesensor, a mood sensor 400 (for collecting subjective stress and behaviorinformation) that is a smart phone, and a GPS system that is built intothe smart phone. This system may be used to contextualize and correlatephysiological, psychological, behavioral and environmental data steamsto diagnose and monitor stress in a user. For example, the heart-ratesensor's data stream may show a spike in the user's heart-rate atcertain times of the day or at certain location. Similarly, mood sensor400's data stream, when mapped against the heart-rate data, may showthese periods of increased heart-rate correlate to periods when the userindicated that his mood was “stressed” and his activity was “driving.”If the user has previously been diagnoses as hypertensive, it may bedesirable to avoid these particularly stressful driving situations thatcause a spike in the user's heart-rate. These stressful drivingsituations may be identified by contextualizing the prior data streamsagainst the GPS system's data stream. When the location data from theGPS system is mapped against the prior data streams, it may show theheart-rate spikes, stressed mood, and driving, all occurred at aspecific highway interchange. Therefore, by contextualizing thephysiological, psychological, behavioral, and environmental datastreams, analysis system 180 may identify driving on the specifichighway interchange as the cause of the user's heart-rate spikes. Thiscould be useful, for example, to allow the user to identify situationsto avoid (e.g., the specific highway interchange) and possibly toidentify better or healthier alternatives (e.g., taking surfacestreets).

Sensor array 110 may continuously transmit data regarding a user'shealth to analysis system 180, which may monitor and automaticallydetect changes in the user's health state. As used herein, “healthstate” refers to a person's physiological and psychological state,including the person's state with respect to pathologies and diseases.By using an integrated sensor array 110 to monitor physiological,psychological, behavioral, and environmental factors, analysis system180 may identify pathologies, disease states, and other health-relatedstates with greater accuracy than is possible with any individualsensor.

In particular embodiments, one or more sensors in sensor array 110 maymeasure one or more biomarkers. A biomarker is a characteristic that maybe measured and evaluated as an indicator of biological processes,pathogenic processes, or pharmacologic responses. For example, in apharmacogenomic context, a biomarker would be a specific geneticvariation that correlates with drug response. In another example, in aneurochemical context, a biomarker would be a person's subjective stresslevel that correlates with the person's plasma glucocorticoid level. Abiomarker is effectively a surrogate for measuring another physiologicalor psychological characteristic. A biomarker may include any type ofstimulus, including physiological, psychological, behavioral, andenvironmental stimulus.

In particular embodiments, analysis system 180 may identify pathologies,disease states, and other health states of a user. For example, analysissystem 180 could determine whether a user has hypertension by monitoringa blood pressure data stream for a three week period and identifyingsubstantial periods where the user's blood pressure is at least 140/90mmHg. The accuracy of identification may generally be increased as thenumber of data streams is increased. Analysis system 180 maycontextualize and correlate data from multiple data streams to eliminateconfounders from its data analysis and reduce the likelihood ofgenerating false-positive and false-negative disease-state diagnoses.For example, the hypertension diagnosis system described above maygenerate a false-positive diagnosis of hypertension if the user engagesin lengthy periods of physical activity, which naturally raise theuser's blood pressure. In this example, if analysis system 180 alsomonitored a heart-rate data stream of the user, it could eliminate bloodpressure data sets that correlate with time periods of high heart-rate,thereby reducing the likelihood of generating an incorrect hypertensiondiagnosis.

In particular embodiments, analysis system 180 may analyzephysiological, psychological, behavioral and environmental data steamsto identify correlations between certain data sets. These correlationsmay be of varying degrees of dependence (e.g, as determined by aPearson's product-moment coefficient). Analysis system 180 may then usethese correlations to generate causality hypotheses of varying degreesof confidence. For example, analysis system 180 may be able to correlatea behavioral data set indicating the user had a fight with aphysiological data set indicating the user had an elevated heart-rate toidentify the fight as the cause of the elevated heart-rate. In anotherexample, analysis system 180 may be able to correlate a physiologicaldata set indicating the user had an elevated skin temperature with abehavioral data set indicating the user was engaged in physical activityto identify the physical activity as the cause of the elevated skintemperature. In yet another example, analysis system 180 may be able tocorrelate a psychological data set indicating the user is depressed withan environmental data set indicating that the user's stock portfoliodeclined to identify the stock decline as the cause of the user'sdepression. Analysis system 180 may use a variety of methods to identifycorrelations and generate causality hypotheses.

In particular embodiments, analysis system 180 may generate a model of auser's health state. In one embodiment, analysis system 180 may generatea baseline model of the user's physiological or psychological state byanalyzing one or more data streams during a control period. Once thebaseline model is established, analysis system 180 could thencontinuously monitor the user and identify deviations, variability, orchanges in the data streams as compared to the baseline model. Inanother embodiment, analysis system 180 may generate a predictive modelof the user's physiological or psychological state by analyzing one ormore data streams and generating one or more algorithms that fit thesensor measurements. Once the predictive model is established, analysissystem 180 could then be used to predict future health states,hypothetical sensor readings, and other aspects of a user's physiologyor psychology. Analysis system 180 may also update and refine thepredictive model based on new data generated by sensor array 110.

In particular embodiments, analysis system 180 may monitor disease-stateprogression and other health state changes over time. For example,analysis system 180 could continuously monitor a user's blood pressureover time to determine whether the user's hypertension is improving.Such monitoring may be used to identify trends and to generate alerts orpredictions regarding possible health states. Similarly, analysis system180 may also monitor data streams containing treatment or therapyinformation to determine whether the treatment or therapy isefficacious. For example, analysis system 180 could monitor a user'sblood pressure over time to determine whether an ACE inhibitor treatmentis affecting the user's hypertension.

In particular embodiments, analysis system 180 may monitor and analyzevarious data streams from a group of people to identify novelpre-disease states or risk states. For example, one or more sensorarrays 110 could monitor a plurality of users. As multiple users developcertain diseases, analysis system 180 could analyze data sets from theseusers prior to their development of the disease. The analysis of thesedata sets could allow analysis system 180 to identify certain healthstates that correlate with some level of risk for developing thedisease.

Dyspnea, also called shortness of breath (SOB) or air hunger, is adebilitating symptom that is the experience of unpleasant oruncomfortable respiratory sensations. As used here, respiration refersthe act or process of inhaling and exhaling, which may also be referredto as breathing or ventilation. Respiration rate refers to the rate aperson breathes (e.g., breaths/minute). Respiratory minute volume refersto the volume of air that a person inhales and exhales over time (e.g.,volume/minute). Dyspnea is a subjective experience of breathingdiscomfort that consists of qualitatively distinct sensations that varyin intensity. The experience derives from interactions among multiplephysiological, psychological, behavioral, and environmental factors, andmay induce secondary physiological and behavioral responses. Dyspnea onexertion may occur normally, but is considered indicative of diseasewhen it occurs at a level of activity that is usually well tolerated.Dyspnea is different from tachypnea, hyperventilation, and hyperpnea,which refer to ventilatory parameters than can be objectively measuredregardless of the person's subjective sensations.

Dyspnea is a common symptom of numerous medical disorders, particularlythose involving the cardiovascular and respiratory systems. Dyspnea onexertion is the most common presenting complaint for people withrespiratory impairment. However, dyspnea at rest is not uncommon.Dyspnea on exertion occurs when the left ventricular output fails torespond appropriately to increased activity or oxygen demand, with aresultant increase in pulmonary venous pressure. Dyspnea on exertion isnot necessarily indicative of disease. Normal persons may feel dyspneicwith strenuous exercise. The level of activity tolerated by anyindividual depends on such variables as age, sex, body weight, physicalconditioning, attitude, and emotional motivation. Dyspnea on exertion isabnormal if it occurs with activity that is normally well tolerated bythe person.

Spontaneous respiration (i.e., ventilation) is controlled by neural andchemical mechanisms. At rest, an average 70 kg person breathes 12 to 15times a minute with a tidal volume of about 600 ml. A healthy individualis not aware of his or her respiratory effort until ventilation isdoubled. Typically, dyspnea is not experienced until ventilation istripled, and an abnormally increased muscular effort is consequentlyneeded for the process of inspiration and expiration. Because dyspnea isa subjective experience, it does not always correlate with the degree ofphysiologic alteration. Some persons may complain of severebreathlessness with relatively minor physiologic change; others may denybreathlessness even with marked cardio-pulmonary deterioration.

Diagnosis of the cause of dyspnea may be made relatively easily in thepresence of other clinical signs of heart or lung disease. Difficulty issometimes encountered in determining the precipitating cause ofbreathlessness in a person with both cardiac and pulmonary conditions.An additional diagnostic problem may be the presence of anxiety or otheremotional disorder. Diagnosis of the cause of dyspnea may require ananalysis of physiological, psychological, behavioral, and environmentalfactors related to a person.

In general, dyspnea indicates that there is inadequate ventilation tosufficiently meet the body's needs. Dyspnea may be induced in fourdistinct settings: (1) increased ventilatory demand such as withexertion, febrile illness, hypoxic state, severe anemia, or metabolicacidosis; (2) decreased ventilatory capacity such as with pleuraleffusion, pneumothorax, intrathoracic mass, rib injury, or muscleweakness; (3) increased airway resistance such as with asthma or chronicobstructive pulmonary disease; and (4) decreased pulmonary compliancesuch as with interstitial fibrosis or pulmonary edema.

Although the exact mechanisms of dyspnea are not fully understood, somegeneral principles are apparent. It is currently thought that there arethree main components that contribute to dyspnea: afferent signals,efferent signals, and central information processing. It is believedthat the central processing in the brain compares the afferent andefferent signals, and that a “mismatch” results in the sensation ofdyspnea. In other words, dyspnea may result when the need forventilation (afferent signaling) is not being met by the ventilationthat is occurring (efferent signaling). Afferent signals are sensoryneuronal signals that ascend to the brain. Afferent neurons significantin dyspnea arise from a large number of sources including the carotidbodies, medulla, lungs, and chest wall. Chemoreceptors in the carotidbodies and medulla supply information regarding the blood gas levels ofO₂, CO₂ and H⁺. In the lungs, juxtacapillary receptors are sensitive topulmonary interstitial edema, while stretch receptors signalbronchoconstriction. Muscle spindles in the chest wall signal thestretch and tension of the respiratory muscles. Thus, poor ventilationleading to hypercapnia, left heart failure leading to interstitial edema(impairing gas exchange), asthma causing bronchoconstriction (limitingairflow), and muscle fatigue leading to ineffective respiratory muscleaction could all contribute to a feeling of dyspnea. Efferent signalsare the motor neuronal signals descending to the respiratory muscles.The primary respiratory muscle is the diaphragm. Other respiratorymuscles include the external and internal intercostal muscles, theabdominal muscles and the accessory breathing muscles. As the brainreceives afferent information relating to ventilation, it is able tocompare it to the current level of respiration as determined by theefferent signals. If the level of respiration is inappropriate for thebody's status then dyspnea might occur. There is a psychologicalcomponent of dyspnea as well, as some people may become aware of theirbreathing in such circumstances but not experience the distress typicalof dyspnea or experience more distress than the degree of ventilatoryderangement would typically warrant.

In particular embodiments, sensor network 100 may analyze physiological,psychological, behavioral and environmental data steams to diagnose andmonitor dyspnea in a user. In some embodiments, sensor array 110 mayinclude one or more accelerometers and one or more respiration sensors.In other embodiments, sensor array 100 may include one or more pulseoximetry sensors and one or more respiration sensors. In yet otherembodiments, sensor array 100 may include one or more accelerometers,one or more pulse oximetry sensors, and one or more respiration sensors.These sensors may be worn, carried, or otherwise affixed to the user.The accelerometers may measure and transmit information regarding theuser's activity level. The respiration sensors may measure and transmitinformation regarding the user's breathing rate, volume, and intensity.As an example and not by way of limitation, a respiration sensor maymeasure a user's breathing rate in breaths/minute. As another exampleand not by way of limitation, a respiration sensor may measure a user'stidal volume in volume of air/breath. As yet another example and not byway of limitation, a respiration sensor may measure a user's respirationminute volume in volume of air/minute. As yet another example and not byway of limitation, a respiration sensor may measure a user's breathingamplitude. The pulse oximetry sensor may measure and transmitinformation regarding the oxygen saturation (SpO₂) of a user's blood.Sensor array 110 may transmit data streams containing acceleration,SpO₂, and respiration data of the user to analysis system 180, which maymonitor and automatically detect changes in the user's activity andrespiration.

In particular embodiments, analysis system 180 may analyzeaccelerometer, SpO₂, and respiration data from sensor array 110 todiagnose dyspnea in a user. As an example and not by way of limitation,respiration data may include a user's breathing rate, tidal volume,respiration minute volume, and breathing amplitude. A typical diagnostictest involves generating at least two data sets, wherein each set iscollected from the user when he is engaged in different levels ofactivity. In particular embodiments, the first data set is collectedfrom the user when he is resting, establishing the user's baselinerespiration with no activity, and the second data set is collected fromthe user when he is engaged in a non-strenuous activity. A typicalnon-strenuous activity includes walking on a flat surface (e.g., a flooror treadmill) for several minutes. If the user's respiration increasesto an abnormal level during the period of non-strenuous activity, thisindicates dyspnea. Similarly, if the user's respiration increases butthe user's SpO₂ does not increase, this indicates dyspnea. A higherrespiration corresponds to more severe dyspnea. In one embodiment, thesecond data set may be collected when the user is engaged in asix-minute flat surface walk, wherein the user walks as far as possiblefor six minutes. If the person becomes out of breath or exhausted duringthe six-minute walk, this indicates dyspnea. The accuracy of diagnosismay generally be increased as the number of data sets is increased.Therefore, multiple data sets may be generated and analyzed to diagnosedyspnea in a user. Typically, the data sets will be collected from theuser when he is engaged in varying levels of activity. Analysis system180 may then create a model of the user's respiration with respect toactivity, such as a graph or chart of activity versus respiration.Similarly, analysis system 180 may then create a model of the user'srespiration with respect to SpO₂, such as a graph or chart of SpO₂versus respiration. As an example and not by way of limitation, if arespiration sensor measures a user's breathing rate as 20 breaths/minuteand pulse oximeter measures a user's SpO₂ at 95%, analysis system 180may determine that the user's SpO₂ is abnormally low in comparison tothe user's breathing rate and diagnose the user with dyspnea. As anotherexample and not by way of limitation, if a respiration sensor measure auser's breathing rate as 26 breaths/minute, a pulse oximeter measuresthe user's SpO₂ at 95%, and an accelerometer measures the user hurryingon a level surface for several minutes, analysis system 180 maydetermine that the user's breathing rate is abnormally high incomparison to the user's activity and diagnose the user with dyspnea.Alternatively, analysis system 180 may determine the that user's SpO₂ isabnormally low in comparison to the user's breathing rate and diagnosethe user with dyspnea.

In particular embodiments, analysis system 180 may reference the MRCBreathlessness Scale to assess the level of dyspnea in a person. Thescale provides five different grades of dyspnea based on thecircumstances in which it arises:

Grade Degree of Dyspnea 0 no dyspnea except with strenuous exercise 1dyspnea when walking up an incline or hurrying on a level surface 2dyspnea after 15 minutes of walking on a level surface 3 dyspnea after afew minutes of walking on a level surface 4 dyspnea with minimalactivity such as getting dressed

Analysis system 180 may also use variations of the MRC BreathlessnessScale, or other scales, both qualitative and quantitative, for assessingthe severity of dyspnea in a person. For example, an alternative scalecould grade dyspnea severity on a scale of 0 to 100, allowing for a morerefined or a more precise diagnosis of a person's dyspnea.

In particular embodiments, analysis system 180 may analyzeaccelerometer, SpO₂, and respiration data from sensor array 110 tomonitor the dyspnea grade of a user over time. Sensor array 110 mayintermittently or continuously transmit information regarding the user'sactivity, SpO₂, and respiration over time to analysis system 180.Analysis system 180 may analyze one or more of these current data setsto determine the current dyspnea grade of the user. Analysis system 180may then access accelerometer, pulse oximetry sensor, respirationsensor, and dyspnea grade data previously generated to compare it tocurrent accelerometer, pulse oximetry sensor, respiration sensor, anddyspnea grade data of the user. Based on the comparison, analysis system180 may then determine whether the user's dyspnea grade has changed overtime. Analysis system 180 may also model the dyspnea grade with respectto time and identify any trends in dyspnea grade of the user. Based onthese changes and trends in dyspnea grade, various alerts or warningsmay be provided to the user or to a third-party (e.g., the user'sphysician).

In particular embodiments, sensor array 110 also includes a heart-ratesensor that may measure the user's heart-rate. Analysis system 180 maymonitor a data stream containing this heart-rate data, allowing it tomore accurately diagnose and monitor a user's dyspnea. For example, if auser is driving, an accelerometer may indicate the user is very active(based on the acceleration and deceleration of the vehicle), while arespiration sensor may indicate the user's respiration is relativelyconstant. In this case, based on only the respiration and accelerometerdata, analysis system 180 may generate a false-negative diagnosis ofdyspnea. By including a data stream containing information regarding theuser's heart-rate (for example, that the user's heart-rate is steadywhile he is driving), analysis system 180 is less likely to generate afalse-negative or false-positive dyspnea diagnosis.

In particular embodiments, sensor array 110 also includes anelectromyograph that may measure the electrical potential generated by auser's muscle cells. These signals may be analyzed to detect muscleactivity and medical abnormalities. Analysis system 180 may monitor adata stream containing this electromyograph data, allowing it to moreaccurately diagnose and monitor a user's dyspnea. In particularembodiments, an electromyograph may be used in place of an accelerometerto diagnose and monitor dyspnea in a user.

In particular embodiments, sensor array 110 also includes a kinestheticsensor that may measure the position and posture of a user's body.Analysis system 180 may monitor a data stream containing thiskinesthetic data, allowing it to more accurately diagnose and monitor auser's dyspnea.

In particular embodiments, sensor array 110 also includes an arterialblood gas sensor that may measure the pH of a user's blood, the partialpressure of CO₂ and O₂, and bicarbonate levels. Analysis system 180 maymonitor a data stream containing this arterial blood gas data, allowingit to more accurately diagnose and monitor a user's dyspnea.

In particular embodiments, sensor array 110 also includes a user-inputsensor that may receive information regarding a user's subjectiveexperience of breathing discomfort. Analysis system 180 may monitor adata stream containing this information, allowing it to more accuratelydiagnose and monitor a user's dyspnea. For example, a user maysubjectively feel breathing discomfort even though his ventilationappears to increase normally in response to activity. In this case,based on only respiration and accelerometer data, analysis system 180may generate a false-negative diagnosis of dyspnea. By including in itsanalysis a data stream containing information regarding the user'ssubjective experience of breathing discomfort, analysis system 180 isless likely to generate a false-negative or false-positive dyspneadiagnosis. In one embodiment, a variation of mood sensor 400 may be usedto receive information regarding a user's subjective experience ofbreathing discomfort. The user may input breathing discomfort, forexample, on activity input widget 450. The user could then input anintensity of the breathing discomfort, for example, on mood intensitywidget 440. Mood sensor 400 could then transmit a data stream based onthis information to analysis system 180 for further analysis.

In particular embodiments, sensor array 110 also includes a user-inputsensor that may receive information regarding treatments and therapiesadministered to the user. Analysis system 180 may monitor data streamscontaining treatment information to determine whether the treatment isaffecting the user's dyspnea. For example, analysis system 180 couldmonitor a user's activity and respiration over time to determine whetheran oral opioid treatment is affecting the user's dyspnea. Based on anychanges or trends in the user's dyspnea grade that correlate with thetreatment, various alerts or messages may be provided to the user or theuser's physician.

FIG. 10 illustrates an example method 1000 for diagnosing and monitoringdyspnea in a person. A user may affix one or more accelerometers, one ormore pulse oximetry sensors, and one or more respiration sensors to hisbody at step 1010. Once affixed, the user may engage in one or moreactivities at step 1020. The sensors may measure the user's respiration,SpO₂ and activity, and transmit data streams based on these measurementsto analysis system 180 at step 1030. Analysis system 180 may thenanalyze the respiration, SpO₂, and accelerometer data streams todetermine the dyspnea grade of the user at step 1040. Over time, thesensors may continue to measure the user's respiration, SpO₂, andactivity at step 1050. The sensors may transmit this currentrespiration, SpO₂, and activity data to analysis system 180 at step1060. Analysis system 180 may then analyze the current respiration,SpO₂, and accelerometer data streams to determine the current dyspneagrade of the user at step 1070. Analysis system 180 may then accessprior dyspnea grade data and compare it to the current dyspnea grade todetermine if there are any changes or trends in the user's dyspnea gradeat step 1080. Although this disclosure describes and illustratesparticular steps of the method of FIG. 10 as occurring in a particularorder, this disclosure contemplates any suitable steps of the method ofFIG. 10 occurring in any suitable order. Moreover, although thisdisclosure describes and illustrates particular components carrying outparticular steps of the method of FIG. 10, this disclosure contemplatesany suitable combination of any suitable components carrying out anysuitable steps of the method of FIG. 10.

Musculoskeletal pathologies (or disorders) can affect a person'smuscles, joints, tendons, ligaments. Musculoskeletal pathologies includedysfunctions and diseases of the skeletal muscles (e.g., muscleatrophies, muscular dystrophies, congenital myopathies) and diseases ofthe joints (e.g., arthritis).

Myopathy is an example of a muscular pathology in which a person'smuscle fibers do not function properly, resulting in musculardysfunction, such as weakness, spasticity, pain, cramping, or flacidity.As used herein, the term “myopathy” is used broadly to reference bothneuromuscular and musculoskeletal myopathies, including musculardystrophy, myotonia, congenital myopathy, mitochondrial myopathy,familial periodic paralysis, inflammatory myopathy, metabolic myopathy,dermatomyositis, myalgia, myositis, rhabdomyolysis, and other acquiredmyopathies. Myopathies may be acquired, for example, from alcohol abuseor as a side-effect of statin treatment. Because different types ofmyopathies are caused by different pathways, there is no singletreatment for myopathy. Treatments range from treatment of the symptomsto very specific cause-targeting treatments. Drug therapy, physicaltherapy, bracing for support, surgery, and even acupuncture are currenttreatments for a variety of myopathies.

Statins (HMG-CoA reductase inhibitors) are a class of drug used to lowera person's plasma cholesterol level. Statins are important drugs forlowering lipids (cholesterols), and have been found to correlate withlower rates of cardiac-events and cardiovascular mortality. Statinslower cholesterol by inhibiting HMG-CoA reductase, which is arate-limiting enzyme of the mevalonate pathway of cholesterol synthesis.Inhibition of this enzyme in the liver results in decreased cholesterolsynthesis as well as up regulation of LDL receptor synthesis, resultingin the increased clearance of low-density lipoprotein (LDL) from thebloodstream. There are both fermentation-derived andsynthetically-derived statins. Statins include atorvastatin,cerivastatin, fluvastatin, lovastatin, mevastatin, pitavastatin,pravastatin, rosuvastatin, and simvastatin. There are also severalcombination therapies that include statins. These combination therapiesinclude Vytorin (simvastatin and ezetimibe), Advicor (lovastatin andniacin), Caduet (atorvastatin and amlodipine besylate), and Simcor(simvastatin and niacin).

Statins are generally well-tolerated by patients. The most commonadverse side effects are elevated liver enzymes levels andmuscle-related complaints. Other statin side-effects includegastrointestinal issues, liver enzyme derangements, cognitivedysfunction, hair loss, and polyneuropathy. A more serious but rarestatin side-effect is rhabdomyolysis leading to acute renal failure.Symptoms of statin-induced myopathy include fatigue, muscle pain, muscletenderness, muscle weakness, muscle cramping, and tendon pain. Themuscle symptoms tend to be proximal, symmetrical, generalized, and worsewith exercise.

In general, skeletal muscular damage correlates with increased levels ofcirculating creatine phosphokinase. Damaged muscle cells may rupture andrelease creatine phosphokinase. Current guidelines define myositis asmuscle discomfort with a creatine phosphokinase level above ten timesthe upper limit of normal. However, some studies show that a person maystill experience statin-based myopathy even though the person has normalor moderately elevated creatine phosphokinase levels. One theory is thatstatin-induced myopathy may cause microscopic muscle damage that is notsufficient to break the cell open and cause a release of creatininephosphokinase into the blood. Consequently, statins may cause ongoingdamage to the muscle at the microscopic level that is not revealed inthe blood tests used to check for muscle damage. An alternate theory isthat statins induce mitochondrial dysfunction, which may not beassociated with creatine phosphokinase release from muscle cells.

The mechanisms of statin-induced myopathy are unknown. One proposal isthat impaired synthesis of cholesterol leads to changes in thecholesterol in myocyte membranes that change the behavior of themembrane. However, inherited disorders of the cholesterol synthesispathway that reduce cholesterol concentrations are not associated withmyopathy. Another proposed mechanism is that impaired synthesis ofcompounds in the cholesterol pathway, particularly coenzyme Q10, couldlead to impaired enzyme activity in mitochondria. Although low serumconcentrations of coenzyme Q10 have been noted in patients takingstatins, concentrations in muscle have not consistently shown thispattern. A third proposed mechanism is depletion of isoprenoids-lipidsthat are a product of the hydroxymethyl glutaryl coenzyme A reductasepathway and that prevent myofibre apoptosis. A fourth proposed mechanismis that some patients have a genetic predisposition for statin-inducedmyopathy. A common variation in the SLCO1B1 gene has been correlatedwith a significant increase in the risk of myopathy, though themechanism behind this increased risk is not known. Statin-inducedmyopathy in a person may be caused by one or more of the abovemechanisms, or a yet unidentified mechanism.

Statin-induced myopathy may be treated using a variety of methods. Onetreatment is to simply lower a patient's statin dose to the lowest doserequired to achieve lipid management goals. As used herein, “dose”refers to both the amount and frequency of a drug administered to apatient. This treatment is based on the clinical observation that theseverity of myopathy typically correlates with increased statin dosage.Another treatment is to change the type of statin to a statin thatpresents a lower myopathy risk. This treatment is based on the theorythat the risk of myopathy among statins may vary based on their watersolubility, and that more hydrophilic statins may have less musclepenetration. Therefore, a patient experiencing statin-induced myopathywith a fat-soluble statin (e.g., simvastatin, rosuvastatin,atorvastatin) may change to a water-soluble statin (e.g., pravastatin,fluvastatin). However, some studies suggest that there is no clinical orepidemiological evidence supporting the differentiation of statinmyotoxicity potential based on hydrophilicity. The potency of the statinalso seems to be correlated with the risk of myopathy, with the morepotent stains having greater risk. Yet another treatment is to prescribecoenzyme Q10 supplements. This treatment is based on the theory thatstatin treatment inhibits the synthesis of coenzyme Q10 (ubiquinone).However, the efficacy of this treatment is unclear. A variety of othertreatments are also possible for statin-induced myopathy, and theexamples described above are not intended to be limiting.

In particular embodiments, sensor network 100 may analyze physiological,psychological, behavioral and environmental data steams to diagnose andmonitor a musculoskeletal pathology in a user. In particularembodiments, the musculoskeletal pathology is myopathy. In particularembodiments, sensor array 110 may include one or more accelerometers. Inparticular embodiments, sensor array 100 may also include one or morekinesthetic sensors. These sensors may be worn, carried, or otherwiseaffixed to the user. The accelerometers may measure and transmitinformation regarding the user's activity level and range of motion. Thekinesthetic sensors may measure and transmit information regarding theposition and posture of the user's body. Sensor array 110 may transmitdata streams containing acceleration data and kinesthetic data of theuser to analysis system 180, which may monitor and automatically detectchanges in the user's activity level, position, and range of motion.Sensor array 110 may also monitor and detect patterns of motion in auser.

In particular embodiments, analysis system 180 may analyze accelerometerdata and/or kinesthetic data from sensor array 110 to diagnose amusculoskeletal pathology, such as myopathy, in a user. A typicaldiagnostic test involves generating at least two data sets, wherein eachset is collected from the user during different time periods. As anexample and not by way of limitation, statin-based myopathy may bediagnosed by collecting data before and after a patient has used astatin treatment. A first data set may be collected from the user priorto beginning statin treatment, establishing the user's baseline activitylevel and range of motion, and a second data set may be collected fromthe user while he is undergoing statin treatment. If the user's activitylevel or range of motion decreases while he is undergoing statintreatment, this indicates statin-induced myopathy. A larger decrease inactivity level or range of motion corresponds to more severe myopathy.As another example and not by way of limitation, the first and seconddata sets may both be collected from the user while he is undergoingstatin treatment, but at different stages of treatment. For example, thefirst data set may be generated while the user is taking a first type ofstatin and the second data set may be generated while the user is takinga second type of statin. The accuracy of diagnosis may generally beincreased as the number of data sets is increased. Therefore, multipledata sets may be generated and analyzed to diagnose myopathy in a user.Typically, the data sets will be collected from the user duringdifferent time periods while he is undergoing statin treatment. Analysissystem 180 may then create a model of the user's myopathy with respectto activity level and range of motion, such as a graph for chart ofactivity level or range of motion over time. Although this disclosuredescribes diagnosing particular types of musculoskeletal pathologies,this disclosure contemplates diagnosing any suitable types ofmusculoskeletal pathologies. Moreover, although this disclosuredescribes collecting data sets at particular time periods, thisdisclosure contemplates collecting data sets at any suitable timeperiods.

The degree of musculoskeletal pathology can be assessed both by thenumber of symptoms present and their intensity. Analysis system 180 mayuse a variety of scales, both qualitative and quantitative, forassessing the severity of musculoskeletal pathology in a person. As anexample and not by way of limitation, a user may report both muscle painand weakness. A simple five point scale may be devised to quantitate theintensity of the various symptoms. Another user may report musclecramping and weakness and yet another user may report all threesymptoms. Each symptom may be scored for intensity and thenalgorithmically combined into a composite scale that could describe thedegree of musculoskeletal pathology. As an example and not by way oflimitation, a scale could grade musculoskeletal pathology severity on ascale of 0 to 100, wherein 0 is no activity level or range of motiondegradation and 100 is severe muscle pain with any movement. Analysissystem 180 may also use different scales for different types ofmusculoskeletal pathology. As an example and not by way of limitation, afirst scale could be used to grade myopathy severity, and a second scalecould be used to grade arthritis severity.

In particular embodiments, analysis system 180 may analyze accelerometerdata and/or kinesthetic data from sensor array 110 to monitor themusculoskeletal pathology grade of a user over time. Sensor array 110may intermittently or continuously transmit information regarding theuser's activity level and range of motion over time to analysis system180. Analysis system 180 may analyze one or more of these current datasets to determine the current musculoskeletal pathology grade of theuser. Analysis system 180 may then access accelerometer, kinestheticsensor, and musculoskeletal pathology grade data previously generated tocompare it to current accelerometer, kinesthetic sensor, andmusculoskeletal pathology grade data of the user. Based on thecomparison, analysis system 180 may then determine whether the user'smusculoskeletal pathology grade has changed over time. Analysis system180 may also model the musculoskeletal pathology grade with respect totime and identify any trends in musculoskeletal pathology grade of theuser. Based on these changes and trends in musculoskeletal pathologygrade, various alerts or warnings may be provided to the user or to athird-party (e.g., the user's physician).

In particular embodiments, sensor array 110 also includes a user-inputsensor that may receive information regarding a user's musclecomplaints. Analysis system 180 may monitor a data stream containingthis information, allowing it to more accurately diagnose and monitor auser's musculoskeletal pathology. For example, a user may feel musclepain even though his activity level and range of motion appear unchangedwith treatment. In this case, based on only accelerometer or kinestheticdata, analysis system 180 may generate a false-negative diagnosis of amusculoskeletal pathology. By including in its analysis a data streamcontaining information regarding the user's muscle complaints, analysissystem 180 is less likely to generate a false-negative or false-positivediagnosis. In one embodiment, a variation of mood sensor 400 may be usedto receive information regarding a user's muscle complaints. The usermay input the type of muscle complaint, for example, on activity inputwidget 450. Muscle complaints could include fatigue, muscle pain, muscletenderness, muscle weakness, muscle cramping, and tendon pain. The usercould then input an intensity of the muscle complaint, for example, onmood intensity widget 440. Mood sensor 400 could then transmit a datastream based on this information to analysis system 180 for furtheranalysis.

In particular embodiments, sensor array 110 also includes a user-inputsensor that may receive information regarding treatments administered tothe user, such as the type and dose of statin treatment administered tothe user. Analysis system 180 may monitor data streams containingtreatment information to determine whether the treatment is affectingthe user's statin-induced myopathy. For example, analysis system 180could monitor a user's activity level and range of motion over time todetermine whether the statin is causing myopathy. Based on any changesor trends in the user's activity level or range of motion that correlatewith the statin treatment, various alerts or messages may be provided tothe user or the user's physician. In particular embodiments, theprescribing physician may change or modify the user's statin treatmentin response to any changes or trends in the user's myopathy. Forexample, if the user's myopathy is worsening, the user's physician mayprescribe a lower dose statin treatment, prescribe a different type ofstatin, or prescribe a different class of medication. In alternativeembodiments, sensor array 110 may include a data feed that transmitsinformation regarding treatments administered to the user. Although thisdisclosure describes receiving information regarding particular types oftreatments for particular types of musculoskeletal pathologies, thisdisclosure contemplates receiving information regarding any suitabletypes of treatments for any suitable types of musculoskeletalpathologies.

In particular embodiments, sensor array 110 also includes anelectromyograph that may measure the electrical potential generated by auser's muscle cells. These signals may be analyzed to detect muscleactivity and medical abnormalities. Analysis system 180 may monitor adata stream containing this electromyograph data, allowing it to moreaccurately diagnose and monitor a user's musculoskeletal pathologies. Inparticular embodiments, an electromyograph may be used in place of or inaddition to an accelerometer to diagnose and monitor musculoskeletalpathologies in a user.

FIG. 11 illustrates an example method 1100 for diagnosing and monitoringmusculoskeletal pathology in a person. A user may affix one or moreaccelerometers to his body at step 1110. In particular embodiments, theuser may affix one or more kinesthetic sensors to his body at step 1110in addition to or instead of the one or more accelerometers. Onceaffixed, the user may engage in one or more activities over time at step1120. The sensors may measure the user's activity level and range ofmotion, and transmit data streams based on these measurements toanalysis system 180 at step 1130. Analysis system 180 may then analyzethe accelerometer data streams (and/or the kinesthetic data streams) todetermine the musculoskeletal pathology grade of the user at step 1140.Over time, the sensors may continue to measure the user's activity leveland range of motion at step 1150. The sensors may transmit this currentactivity level and range of motion data to analysis system 180 at step1160. Analysis system 180 may then analyze the current accelerometerdata streams (and/or the kinesthetic data streams) to determine thecurrent musculoskeletal pathology grade of the user at step 1170.Analysis system 180 may then access prior musculoskeletal pathologygrade data and compare it to the current musculoskeletal pathology gradeto determine if there are any changes or trends in the user'smusculoskeletal pathology grade at step 1180. Although this disclosuredescribes and illustrates particular steps of the method of FIG. 11 asoccurring in a particular order, this disclosure contemplates anysuitable steps of the method of FIG. 11 occurring in any suitable order.Moreover, although this disclosure describes and illustrates particularcomponents carrying out particular steps of the method of FIG. 11, thisdisclosure contemplates any suitable combination of any suitablecomponents carrying out any suitable steps of the method of FIG. 11.

While this disclosure has focused on statin-induced myopathy, thisdisclosure is intended to encompass the diagnosis and monitoring of anytype of musculoskeletal pathology. One of ordinary skill in the artwould recognize that the embodiments disclosed herein may be used todiagnosis and monitor a variety of musculoskeletal pathologies, such as,for example arthritis, muscular dystrophy, myotonia, congenitalmyopathy, mitochondrial myopathy, familial periodic paralysis,inflammatory myopathy, metabolic myopathy, dermatomyositis, myalgia,myositis, rhabdomyolysis, and other acquired myopathies.

Display system 190 may render, visualize, display, message, notify, andpublish to one or more users based on the one or more analysis outputsfrom analysis system 180. An analysis output from analysis system 180may be transmitted to display system 190 over any suitable medium.Display system 190 may include any suitable I/O device that may enablecommunication between a person and display system 190. For example,display system 190 may include a video monitor, speaker, vibrator, touchscreen, printer, another suitable I/O device or a combination of two ormore of these. Display system 190 may be any computing device with asuitable I/O device, such as computer system 1400.

Display system 190 comprises one or more local display systems 130and/or one or more remote display systems 140. Where display system 190comprises multiple subsystems (e.g., local display systems 130 andremote display systems 140), display of analysis outputs may occur onone or more subsystems. In one embodiment, local display systems 130 andremote display systems 140 may present identical displays based on theanalysis output. In another embodiment, local display systems 130 andremote display systems 140 may present different displays based on theanalysis output.

In particular embodiments, a user-input sensor in sensor array 110 mayalso function as display system 190. Any client system with a suitableI/O device may serve as a user-input sensor and display system 190. Forexample, a smart phone with a touch screen may function both as auser-input sensor and as display system 190.

Display system 190 may display an analysis output in real-time as it isreceived from analysis system 180. In particular embodiments, real-timeanalysis of data streams from sensor array 110 by analysis system 180allows the user to receive real-time information about his healthstatus. It is also possible for the user to receive real-time feedbackfrom display system 190 (e.g., warnings about health risks, recommendingtherapies, etc.).

One of ordinary skill in the art would recognize that display system 190could perform a variety of display-related processes using a variety oftechniques and that the example embodiments disclosed herein are notmeant to be limiting.

In particular embodiments, display system 190 may render and visualizedata based on analysis output from analysis system 180. Display system190 may render and visualize using any suitable means, includingcomputer system 1400 with a suitable I/O device, such as a videomonitor, speaker, touch screen, printer, another suitable I/O device ora combination of two or more of these.

Rendering is the process of generating an image from a model. The modelis a description of an object in a defined language or data structure. Adescription may include color, size, orientation, geometry, viewpoint,texture, lighting, shading, and other object information. The renderingmay be any suitable image, such as a digital image or raster graphicsimage. Rendering may be performed on any suitable computing device.

Visualization is the process of creating images, diagrams, or animationsto communicate information to a user. Visualizations may includediagrams, images, objects, graphs, charts, lists, maps, text, etc.Visualization may be performed on any suitable device that may presentinformation to a user, including a video monitor, speaker, touch screen,printer, another suitable I/O device or a combination of two or more ofthese.

In particular embodiments, rendering may be performed partially onanalysis system 180 and partially on display system 190. In otherembodiments, rendering is completely performed on analysis system 180,while visualization is performed on display system 190.

In particular embodiments, display system 190 may message, notify, andpublish data based on analysis output from analysis system 180. Displaysystem 190 may message and publish using any suitable means, includingemail, instant message, text message, audio message, page, MMS text,social network message, another suitable messaging or publishing means,or a combination of two or more of these.

In particular embodiments, display system 190 may publish some or all ofthe analysis output such that the publication may be viewed by one ormore third-parties. In one embodiment, display system 190 mayautomatically publish the analysis output to one or more websites. Forexample, a user of mood sensor 400 may automatically have their inputsinto the sensor published to social networking sites (e.g., Facebook,Twitter, etc.).

In particular embodiments, display system 190 may send or message someor all of the analysis output to one or more third-parties. In oneembodiment, display system 190 may automatically send the analysisoutput to one or more healthcare providers. For example, a user wearinga portable blood glucose monitor may have all of the data from thatsensor transmitted to his doctor. In another embodiment, display system190 will only send the analysis output to a healthcare provider when oneor more threshold criteria are met. For example, a user wearing aportable blood glucose monitor may not have any data from that sensortransmitted to his doctor unless his blood glucose data shows that he isseverely hypoglycemic (e.g., below 2.8 mmol/l). In particularembodiments, display system 190 may message one or more alerts to a useror third-party based on the analysis output. An alert may contain anotice, warning, or recommendation for the user or third-party. Forexample, a user wearing a blood glucose monitor may receive an alert ifhis blood glucose level shows that he is moderately hypoglycemic (e.g.,below 3.5 mmol/l) warning of the hypoglycemia and recommending that heeat something.

In particular embodiments, display system 190 may display one or moretherapies to a user based on analysis output from analysis system 180.In particular embodiments, these are recommended therapies for the user.In other embodiments, these are therapeutic feedbacks that provide adirect therapeutic benefit to the user. Display system 190 may deliver avariety of therapies, such as interventions, biofeedback, breathingexercises, progressive muscle relaxation exercises, physical therapy,presentation of personal media (e.g., music, personal pictures, etc.),offering an exit strategy (e.g., calling the user so he has an excuse toleave a stressful situation), references to a range of psychotherapeutictechniques, and graphical representations of trends (e.g., illustrationsof health metrics over time), cognitive reframing therapy, and othertherapeutic feedbacks. Display system 190 may also provide informationon where the user can seek other therapies, such as specificrecommendations for medical care providers, hospitals, etc.

In particular embodiments, display system 190 may transform, select, orrepresent one or more data streams or analysis outputs with an implicitor explicit geometric structure, to allow the exploration, analysis andunderstanding of the data.

In particular embodiments, a user may modify the visualization inreal-time, thus affording perception of patterns and structuralrelations in the data streams or analysis outputs presented by displaysystem 190.

FIG. 12 illustrates an example computer system 1200. In particularembodiments, one or more computer systems 1200 perform one or more stepsof one or more methods described or illustrated herein. In particularembodiments, one or more computer systems 1200 provide functionalitydescribed or illustrated herein. In particular embodiments, softwarerunning on one or more computer systems 1200 performs one or more stepsof one or more methods described or illustrated herein or providesfunctionality described or illustrated herein. Particular embodimentsinclude one or more portions of one or more computer systems 1200.

This disclosure contemplates any suitable number of computer systems1200. This disclosure contemplates computer system 1200 taking anysuitable physical form. As example and not by way of limitation,computer system 1200 may be an embedded computer system, asystem-on-chip (SOC), a single-board computer system (SBC) (such as, forexample, a computer-on-module (COM) or system-on-module (SOM)), adesktop computer system, a laptop or notebook computer system, aninteractive kiosk, a mainframe, a mesh of computer systems, a mobiletelephone, a personal digital assistant (PDA), a server, a tabletcomputer system, or a combination of two or more of these. Whereappropriate, computer system 1200 may include one or more computersystems 1200; be unitary or distributed; span multiple locations; spanmultiple machines; span multiple data centers; or reside in a cloud,which may include one or more cloud components in one or more networks.Where appropriate, one or more computer systems 1200 may perform withoutsubstantial spatial or temporal limitation one or more steps of one ormore methods described or illustrated herein. As an example and not byway of limitation, one or more computer systems 1200 may perform in realtime or in batch mode one or more steps of one or more methods describedor illustrated herein. One or more computer systems 1200 may perform atdifferent times or at different locations one or more steps of one ormore methods described or illustrated herein, where appropriate.

In particular embodiments, computer system 1200 includes a processor1202, memory 1204, storage 1206, an input/output (I/O) interface 1208, acommunication interface 1210, and a bus 1212. Although this disclosuredescribes and illustrates a particular computer system having aparticular number of particular components in a particular arrangement,this disclosure contemplates any suitable computer system having anysuitable number of any suitable components in any suitable arrangement.

In particular embodiments, processor 1202 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions,processor 1202 may retrieve (or fetch) the instructions from an internalregister, an internal cache, memory 1204, or storage 1206; decode andexecute them; and then write one or more results to an internalregister, an internal cache, memory 1204, or storage 1206. In particularembodiments, processor 1202 may include one or more internal caches fordata, instructions, or addresses. This disclosure contemplates processor1202 including any suitable number of any suitable internal caches,where appropriate. As an example and not by way of limitation, processor1202 may include one or more instruction caches, one or more datacaches, and one or more translation lookaside buffers (TLBs).Instructions in the instruction caches may be copies of instructions inmemory 1204 or storage 1206, and the instruction caches may speed upretrieval of those instructions by processor 1202. Data in the datacaches may be copies of data in memory 1204 or storage 1206 forinstructions executing at processor 1202 to operate on; the results ofprevious instructions executed at processor 1202 for access bysubsequent instructions executing at processor 1202 or for writing tomemory 1204 or storage 1206; or other suitable data. The data caches mayspeed up read or write operations by processor 1202. The TLBs may speedup virtual-address translation for processor 1202. In particularembodiments, processor 1202 may include one or more internal registersfor data, instructions, or addresses. This disclosure contemplatesprocessor 1202 including any suitable number of any suitable internalregisters, where appropriate. Where appropriate, processor 1202 mayinclude one or more arithmetic logic units (ALUs); be a multi-coreprocessor; or include one or more processors 1202. Although thisdisclosure describes and illustrates a particular processor, thisdisclosure contemplates any suitable processor.

In particular embodiments, memory 1204 includes main memory for storinginstructions for processor 1202 to execute or data for processor 1202 tooperate on. As an example and not by way of limitation, computer system1200 may load instructions from storage 1206 or another source (such as,for example, another computer system 1200) to memory 1204. Processor1202 may then load the instructions from memory 1204 to an internalregister or internal cache. To execute the instructions, processor 1202may retrieve the instructions from the internal register or internalcache and decode them. During or after execution of the instructions,processor 1202 may write one or more results (which may be intermediateor final results) to the internal register or internal cache. Processor1202 may then write one or more of those results to memory 1204. Inparticular embodiments, processor 1202 executes only instructions in oneor more internal registers or internal caches or in memory 1204 (asopposed to storage 1206 or elsewhere) and operates only on data in oneor more internal registers or internal caches or in memory 1204 (asopposed to storage 1206 or elsewhere). One or more memory buses (whichmay each include an address bus and a data bus) may couple processor1202 to memory 1204. Bus 1212 may include one or more memory buses, asdescribed below. In particular embodiments, one or more memorymanagement units (MMUs) reside between processor 1202 and memory 1204and facilitate accesses to memory 1204 requested by processor 1202. Inparticular embodiments, memory 1204 includes random access memory (RAM).This RAM may be volatile memory, where appropriate Where appropriate,this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, whereappropriate, this RAM may be single-ported or multi-ported RAM. Thisdisclosure contemplates any suitable RAM. Memory 1204 may include one ormore memories 1204, where appropriate. Although this disclosuredescribes and illustrates particular memory, this disclosurecontemplates any suitable memory.

In particular embodiments, storage 1206 includes mass storage for dataor instructions. As an example and not by way of limitation, storage1206 may include an HDD, a floppy disk drive, flash memory, an opticaldisc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus(USB) drive or a combination of two or more of these. Storage 1206 mayinclude removable or non-removable (or fixed) media, where appropriate.Storage 1206 may be internal or external to computer system 1200, whereappropriate. In particular embodiments, storage 1206 is non-volatile,solid-state memory. In particular embodiments, storage 1206 includesread-only memory (ROM). Where appropriate, this ROM may bemask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM),electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM),or flash memory or a combination of two or more of these. Thisdisclosure contemplates mass storage 1206 taking any suitable physicalform. Storage 1206 may include one or more storage control unitsfacilitating communication between processor 1202 and storage 1206,where appropriate. Where appropriate, storage 1206 may include one ormore storages 1206. Although this disclosure describes and illustratesparticular storage, this disclosure contemplates any suitable storage.

In particular embodiments, I/O interface 1208 includes hardware,software, or both providing one or more interfaces for communicationbetween computer system 1200 and one or more I/O devices. Computersystem 1200 may include one or more of these I/O devices, whereappropriate. One or more of these I/O devices may enable communicationbetween a person and computer system 1200. As an example and not by wayof limitation, an I/O device may include a keyboard, keypad, microphone,monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet,touch screen, trackball, video camera, another suitable I/O device or acombination of two or more of these. An I/O device may include one ormore sensors. This disclosure contemplates any suitable I/O devices andany suitable I/O interfaces 1208 for them. Where appropriate, I/Ointerface 1208 may include one or more device or software driversenabling processor 1202 to drive one or more of these I/O devices. I/Ointerface 1208 may include one or more I/O interfaces 1208, whereappropriate. Although this disclosure describes and illustrates aparticular I/O interface, this disclosure contemplates any suitable I/Ointerface.

In particular embodiments, communication interface 1210 includeshardware, software, or both providing one or more interfaces forcommunication (such as, for example, packet-based communication) betweencomputer system 1200 and one or more other computer systems 1200 or oneor more networks. As an example and not by way of limitation,communication interface 1210 may include a network interface controller(NIC) or network adapter for communicating with an Ethernet or otherwire-based network or a wireless NIC (WNIC) or wireless adapter forcommunicating with a wireless network, such as a WI-FI network. Thisdisclosure contemplates any suitable network and any suitablecommunication interface 1210 for it. As an example and not by way oflimitation, computer system 1200 may communicate with an ad hoc network,a personal area network (PAN), a local area network (LAN), a wide areanetwork (WAN), a metropolitan area network (MAN), or one or moreportions of the Internet or a combination of two or more of these. Oneor more portions of one or more of these networks may be wired orwireless. As an example, computer system 1200 may communicate with awireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FInetwork, a WI-MAX network, a cellular telephone network (such as, forexample, a Global System for Mobile Communications (GSM) network), orother suitable wireless network or a combination of two or more ofthese. Computer system 1200 may include any suitable communicationinterface 1210 for any of these networks, where appropriate.Communication interface 1210 may include one or more communicationinterfaces 1210, where appropriate. Although this disclosure describesand illustrates a particular communication interface, this disclosurecontemplates any suitable communication interface.

In particular embodiments, bus 1212 includes hardware, software, or bothcoupling components of computer system 1200 to each other. As an exampleand not by way of limitation, bus 1212 may include an AcceleratedGraphics Port (AGP) or other graphics bus, an Enhanced Industry StandardArchitecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT)interconnect, an Industry Standard Architecture (USA) bus, an INFINIBANDinterconnect, a low-pin-count (LPC) bus, a memory bus, a Micro ChannelArchitecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, aPCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA)bus, a Video Electronics Standards Association local (VLB) bus, oranother suitable bus or a combination of two or more of these. Bus 1212may include one or more buses 1212, where appropriate. Although thisdisclosure describes and illustrates a particular bus, this disclosurecontemplates any suitable bus or interconnect.

Herein, reference to a computer-readable storage medium encompasses oneor more non-transitory, tangible computer-readable storage mediapossessing structure. As an example and not by way of limitation, acomputer-readable storage medium may include a semiconductor-based orother integrated circuit (IC) (such, as for example, afield-programmable gate array (FPGA) or an application-specific IC(ASIC)), a hard disk, an HDD, a hybrid hard drive (HHD), an opticaldisc, an optical disc drive (ODD), a magneto-optical disc, amagneto-optical drive, a floppy disk, a floppy disk drive (FDD),magnetic tape, a holographic storage medium, a solid-state drive (SSD),a RAM-drive, a SECURE DIGITAL card, a SECURE DIGITAL drive, or anothersuitable computer-readable storage medium or a combination of two ormore of these, where appropriate. Herein, reference to acomputer-readable storage medium excludes any medium that is noteligible for patent protection under 35 U.S.C. §101. Herein, referenceto a computer-readable storage medium excludes transitory forms ofsignal transmission (such as a propagating electrical or electromagneticsignal per se) to the extent that they are not eligible for patentprotection under 35 U.S.C. §101. A computer-readable non-transitorystorage medium may be volatile, non-volatile, or a combination ofvolatile and non-volatile, where appropriate.

This disclosure contemplates one or more computer-readable storage mediaimplementing any suitable storage. In particular embodiments, acomputer-readable storage medium implements one or more portions ofprocessor 1202 (such as, for example, one or more internal registers orcaches), one or more portions of memory 1204, one or more portions ofstorage 1206, or a combination of these, where appropriate. Inparticular embodiments, a computer-readable storage medium implementsRAM or ROM. In particular embodiments, a computer-readable storagemedium implements volatile or persistent memory. In particularembodiments, one or more computer-readable storage media embodysoftware. Herein, reference to software may encompass one or moreapplications, bytecode, one or more computer programs, one or moreexecutables, one or more instructions, logic, machine code, one or morescripts, or source code, and vice versa, where appropriate. Inparticular embodiments, software includes one or more applicationprogramming interfaces (APIs). This disclosure contemplates any suitablesoftware written or otherwise expressed in any suitable programminglanguage or combination of programming languages. In particularembodiments, software is expressed as source code or object code. Inparticular embodiments, software is expressed in a higher-levelprogramming language, such as, for example, C, Perl, or a suitableextension thereof. In particular embodiments, software is expressed in alower-level programming language, such as assembly language (or machinecode). In particular embodiments, software is expressed in JAVA. Inparticular embodiments, software is expressed in Hyper Text MarkupLanguage (HTML), Extensible Markup Language (XML), or other suitablemarkup language.

FIG. 13 illustrates an example network environment 1300. This disclosurecontemplates any suitable network environment 1300. As an example andnot by way of limitation, although this disclosure describes andillustrates a network environment 1300 that implements a client-servermodel, this disclosure contemplates one or more portions of a networkenvironment 1300 being peer-to-peer, where appropriate. Particularembodiments may operate in whole or in part in one or more networkenvironments 1300. In particular embodiments, one or more elements ofnetwork environment 1300 provide functionality described or illustratedherein. Particular embodiments include one or more portions of networkenvironment 1300. Network environment 1300 includes a network 1310coupling one or more servers 1320 and one or more clients 1330 to eachother. This disclosure contemplates any suitable network 1310. As anexample and not by way of limitation, one or more portions of network1310 may include an ad hoc network, an intranet, an extranet, a virtualprivate network (VPN), a local area network (LAN), a wireless LAN(WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitanarea network (MAN), a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a cellular telephone network, or acombination of two or more of these. Network 1310 may include one ormore networks 1310.

Links 1350 couple servers 1320 and clients 1330 to network 1310 or toeach other. This disclsoure contemplates any suitable links 1350. As anexample and not by way of limitation, one or more links 1350 eachinclude one or more wireline (such as, for example, Digital SubscriberLine (DSL) or Data Over Cable Service Interface Specification (DOCSIS)),wireless (such as, for example, Wi-Fi or Worldwide Interoperability forMicrowave Access (WiMAX)) or optical (such as, for example, SynchronousOptical Network (SONET) or Synchronous Digital Hierarchy (SDH)) links1350. In particular embodiments, one or more links 1350 each includes anintranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a MAN, acommunications network, a satellite network, a portion of the Internet,or another link 1350 or a combination of two or more such links 1350.Links 1350 need not necessarily be the same throughout networkenvironment 1300. One or more first links 1350 may differ in one or morerespects from one or more second links 1350.

This disclosure contemplates any suitable servers 1320. As an exampleand not by way of limitation, one or more servers 1320 may each includeone or more advertising servers, applications servers, catalog servers,communications servers, database servers, exchange servers, fax servers,file servers, game servers, home servers, mail servers, message servers,news servers, name or DNS servers, print servers, proxy servers, soundservers, standalone servers, web servers, or web-feed servers. Inparticular embodiments, a server 1320 includes hardware, software, orboth for providing the functionality of server 1320. As an example andnot by way of limitation, a server 1320 that operates as a web servermay be capable of hosting websites containing web pages or elements ofweb pages and include appropriate hardware, software, or both for doingso. In particular embodiments, a web server may host HTML or othersuitable files or dynamically create or constitute files for web pageson request. In response to a Hyper Text Transfer Protocol (HTTP) orother request from a client 1330, the web server may communicate one ormore such files to client 1330. As another example, a server 1320 thatoperates as a mail server may be capable of providing e-mail services toone or more clients 1330. As another example, a server 1320 thatoperates as a database server may be capable of providing an interfacefor interacting with one or more data stores (such as, for example, datastores 1340 described below). Where appropriate, a server 1320 mayinclude one or more servers 1320; be unitary or distributed; spanmultiple locations; span multiple machines; span multiple datacenters;or reside in a cloud, which may include one or more cloud components inone or more networks.

In particular embodiments, one or more links 1350 may couple a server1320 to one or more data stores 1340. A data store 1340 may store anysuitable information, and the contents of a data store 1340 may beorganized in any suitable manner. As an example and not by way orlimitation, the contents of a data store 1340 may be stored as adimensional, flat, hierarchical, network, object-oriented, relational,XML, or other suitable database or a combination or two or more ofthese. A data store 1340 (or a server 1320 coupled to it) may include adatabase-management system or other hardware or software for managingthe contents of data store 1340. The database-management system mayperform read and write operations, delete or erase data, perform datadeduplication, query or search the contents of data store 1340, orprovide other access to data store 1340.

In particular embodiments, one or more servers 1320 may each include oneor more search engines 1322. A search engine 1322 may include hardware,software, or both for providing the functionality of search engine 1322.As an example and not by way of limitation, a search engine 1322 mayimplement one or more search algorithms to identify network resources inresponse to search queries received at search engine 1322, one or moreranking algorithms to rank identified network resources, or one or moresummarization algorithms to summarize identified network resources. Inparticular embodiments, a ranking algorithm implemented by a searchengine 1322 may use a machine-learned ranking formula, which the rankingalgorithm may obtain automatically from a set of training dataconstructed from pairs of search queries and selected Uniform ResourceLocators (URLs), where appropriate.

In particular embodiments, one or more servers 1320 may each include oneor more data monitors/collectors 1324. A data monitor/collection 1324may include hardware, software, or both for providing the functionalityof data collector/collector 1324. As an example and not by way oflimitation, a data monitor/collector 1324 at a server 1320 may monitorand collect network-traffic data at server 1320 and store thenetwork-traffic data in one or more data stores 1340. In particularembodiments, server 1320 or another device may extract pairs of searchqueries and selected URLs from the network-traffic data, whereappropriate.

This disclosure contemplates any suitable clients 1330. A client 1330may enable a user at client 1330 to access or otherwise communicate withnetwork 1310, servers 1320, or other clients 1330. As an example and notby way of limitation, a client 1330 may have a web browser, such asMICROSOFT INTERNET EXPLORER or MOZILLA FIREFOX, and may have one or moreadd-ons, plug-ins, or other extensions, such as GOOGLE TOOLBAR or YAHOOTOOLBAR. A client 1330 may be an electronic device including hardware,software, or both for providing the functionality of client 1330. As anexample and not by way of limitation, a client 1330 may, whereappropriate, be an embedded computer system, an SOC, an SBC (such as,for example, a COM or SOM), a desktop computer system, a laptop ornotebook computer system, an interactive kiosk, a mainframe, a mesh ofcomputer systems, a mobile telephone, a PDA, a netbook computer system,a server, a tablet computer system, or a combination of two or more ofthese. Where appropriate, a client 1330 may include one or more clients1330; be unitary or distributed; span multiple locations; span multiplemachines; span multiple datacenters; or reside in a cloud, which mayinclude one or more cloud components in one or more networks.

Herein, “or” is inclusive and not exclusive, unless expressly indicatedotherwise or indicated otherwise by context. Therefore, herein, “A or B”means “A, B, or both,” unless expressly indicated otherwise or indicatedotherwise by context. Moreover, “and” is both joint and several, unlessexpressly indicated otherwise or indicated otherwise by context.Therefore, herein, “A and B” means “A and B, jointly or severally,”unless expressly indicated otherwise or indicated otherwise by context.Furthermore, “a”, “an,” or “the” is intended to mean “one or more,”unless expressly indicated otherwise or indicated otherwise by context.Therefore, herein, “an A” or “the A” means “one or more A,” unlessexpressly indicated otherwise or indicated otherwise by context.

This disclosure encompasses all changes, substitutions, variations,alterations, and modifications to the example embodiments herein that aperson having ordinary skill in the art would comprehend. Similarly,where appropriate, the appended claims encompass all changes,substitutions, variations, alterations, and modifications to the exampleembodiments herein that a person having ordinary skill in the art wouldcomprehend. Moreover, this disclosure encompasses any suitablecombination of one or more features from any example embodiment with oneor more features of any other example embodiment herein that a personhaving ordinary skill in the art would comprehend. Furthermore,reference in the appended claims to an apparatus or system or acomponent of an apparatus or system being adapted to, arranged to,capable of, configured to, enabled to, operable to, or operative toperform a particular function encompasses that apparatus, system,component, whether or not it or that particular function is activated,turned on, or unlocked, as long as that apparatus, system, or componentis so adapted, arranged, capable, configured, enabled, operable, oroperative.

1. A method comprising, by one or more computing devices: generating adisplay for presentation to a user, the display comprising an avatar ofa person's body in three spatial dimensions, the avatar being configuredto receive one or more inputs from the user; receiving a first inputfrom the user identifying a type of a physiological event; receiving asecond input from the user identifying a location of the physiologicalevent in or on a person's body in three spatial dimensions; receiving athird input from the user identifying a time range of the physiologicalevent; receiving a fourth input from the user identifying a quality ofthe physiological event; and rendering the physiological event on theavatar based on the first, second, third, and fourth inputs.
 2. Themethod of claim 1, further comprising receiving a fifth input from theuser identifying a configuration of the person's body during thephysiological event.
 3. The method of claim 1, further comprisingreceiving a fifth input from the user identifying an action associatedwith the physiological event.
 4. The method of claim 3, wherein theaction associated with the physiological event is an action performed bythe person.
 5. The method of claim 3, wherein the action associated withthe physiological event is an action done to the person.
 6. The methodof claim 3, wherein the action associated with the physiological eventis the administration of a medical treatment to the person.
 7. Themethod of claim 1, wherein the quality of the physiological eventcomprises one or more of a nature of the physiological event or anintensity of the physiological event.
 8. The method of claim 1, whereinthe time range is a single point in time.
 9. The method of claim 1,wherein the time range is a series of points in time.
 10. The method ofclaim 1, wherein the physiological event is a somatic sensation of theperson.
 11. The method of claim 10, wherein the somatic sensation ispain.
 12. The method of claim 1, wherein rendering the physiologicalevent on the avatar comprises generating a modified display forpresentation to the user, the modified display comprising a modifiedavatar of the person's body in three spatial dimensions based on thefirst input, the second input, the third input, and the fourth inputthat illustrates the physiological event.
 13. The method of claim 1,wherein rendering the physiological event on the avatar comprisesgenerating and transmitting a data stream based on the first input, thesecond input, the third input, and the fourth input.
 14. One or morecomputer-readable non-transitory storage media embodying instructionsthat are operable when executed to: generate a display for presentationto a user, the display comprising an avatar of a person's body in threespatial dimensions, the avatar being configured to receive one or moreinputs from the user; receive a first input from the user identifying atype of a physiological event; receive a second input from the useridentifying a location of the physiological event in or on a person'sbody in three spatial dimensions; receive a third input from the useridentifying a time range of the physiological event; receive a fourthinput from the user identifying a quality of the physiological event;and render the physiological event on the avatar based on the first,second, third, and fourth inputs.
 15. The media of claim 14, the mediaembodying instructions that are further operable when executed toreceive a fifth input from the user identifying a configuration of theperson's body during the physiological event.
 16. The media of claim 14,the media embodying instructions that are further operable when executedto receive a fifth input from the user identifying an action associatedwith the physiological event.
 17. The media of claim 16, wherein theaction associated with the physiological event is an action performed bythe person.
 18. The media of claim 16, wherein the action associatedwith the physiological event is an action done to the person.
 19. Themedia of claim 16, wherein the action associated with the physiologicalevent is the administration of a medical treatment to the person. 20.The media of claim 14, wherein the quality of the physiological eventcomprises one or more of a nature of the physiological event or anintensity of the physiological event.
 21. The media of claim 14, whereinthe time range is a single point in time.
 22. The media of claim 14,wherein the time range is a series of points in time.
 23. The media ofclaim 14, wherein the physiological event is a somatic sensation of theperson.
 24. The media of claim 23, wherein the somatic sensation ispain.
 25. The media of claim 14, wherein rendering the physiologicalevent on the avatar comprises generating a modified display forpresentation to the user, the modified display comprising a modifiedavatar of the person's body in three spatial dimensions based on thefirst input, the second input, the third input, and the fourth inputthat illustrates the physiological event.
 26. The media of claim 14,wherein rendering the physiological event on the avatar comprisesgenerating and transmitting a data stream based on the first input, thesecond input, the third input, and the fourth input.
 27. An apparatuscomprising: a memory comprising instructions executable by one or moreprocessors; and one or more processors coupled to the memory andoperable to execute the instructions, the one or more processors beingoperable when executing the instructions to: generate a display forpresentation to a user, the display comprising an avatar of a person'sbody in three spatial dimensions, the avatar being configured to receiveone or more inputs from the user; receive a first input from the useridentifying a type of a physiological event; receive a second input fromthe user identifying a location of the physiological event in or on aperson's body in three spatial dimensions; receive a third input fromthe user identifying a time range of the physiological event; receive afourth input from the user identifying a quality of the physiologicalevent; and render the physiological event on the avatar based on thefirst, second, third, and fourth inputs.
 28. The apparatus of claim 27,the apparatus further operable when executing instructions to receive afifth input from the user identifying a configuration of the person'sbody during the physiological event.
 29. The apparatus of claim 27, theapparatus further operable when executing instructions to receive afifth input from the user identifying an action associated with thephysiological event.
 30. The apparatus of claim 29, wherein the actionassociated with the physiological event is an action performed by theperson.
 31. The apparatus of claim 29, wherein the action associatedwith the physiological event is an action done to the person.
 32. Theapparatus of claim 29, wherein the action associated with thephysiological event is the administration of a medical treatment to theperson.
 33. The apparatus of claim 27, wherein the quality of thephysiological event comprises one or more of a nature of thephysiological event or an intensity of the physiological event.
 34. Theapparatus of claim 27, wherein the time range is a single point in time.35. The apparatus of claim 27, wherein the time range is a series ofpoints in time.
 36. The apparatus of claim 27, wherein the physiologicalevent is a somatic sensation of the person.
 37. The apparatus of claim36, wherein the somatic sensation is pain.
 38. The apparatus of claim27, wherein rendering the physiological event on the avatar comprisesgenerating a modified display for presentation to the user, the modifieddisplay comprising a modified avatar of the person's body in threespatial dimensions based on the first input, the second input, the thirdinput, and the fourth input that illustrates the physiological event.39. The apparatus of claim 27, wherein rendering the physiological eventon the avatar comprises generating and transmitting a data stream basedon the first input, the second input, the third input, and the fourthinput.
 40. A system comprising: means for generating a display forpresentation to a user, the display comprising an avatar of a person'sbody in three spatial dimensions, the avatar being configured to receiveone or more inputs from the user; means for receiving a first input fromthe user identifying a type of a physiological event; means forreceiving a second input from the user identifying a location of thephysiological event in or on a person's body in three spatialdimensions; means for receiving a third input from the user identifyinga time range of the physiological event; means for receiving a fourthinput from the user identifying a quality of the physiological event;and means for rendering the physiological event on the avatar based onthe first, second, third, and fourth inputs.
 41. The system of claim 40,further comprising means for receiving a fifth input from the useridentifying a configuration of the person's body during thephysiological event.
 42. The system of claim 40, further comprisingmeans for receiving a fifth input from the user identifying an actionassociated with the physiological event.
 43. The system of claim 42,wherein the action associated with the physiological event is an actionperformed by the person.
 44. The system of claim 42, wherein the actionassociated with the physiological event is an action done to the person.45. The system of claim 42, wherein the action associated with thephysiological event is the administration of a medical treatment to theperson.
 46. The system of claim 40, wherein the quality of thephysiological event comprises one or more of a nature of thephysiological event or an intensity of the physiological event.
 47. Thesystem of claim 40, wherein the time range is a single point in time.48. The system of claim 40, wherein the time range is a series of pointsin time.
 49. The system of claim 40, wherein the physiological event isa somatic sensation of the person.
 50. The system of claim 49, whereinthe somatic sensation is pain.
 51. The system of claim 40, wherein themeans for rendering the physiological event on the avatar comprisesmeans for generating a modified display for presentation to the user,the modified display comprising a modified avatar of the person's bodyin three spatial dimensions based on the first input, the second input,the third input, and the fourth input that illustrates the physiologicalevent.
 52. The system of claim 40, wherein the means for rendering thephysiological event on the avatar comprises means for generating andmeans for transmitting a data stream based on the first input, thesecond input, the third input, and the fourth input.